Image on userform from picture in a worksheet
Hi Rosen
Use the below procedure to save the picture to a location and then load this
to image control.
Sub Macro()
Fname = ThisWorkbook.Path & Application.PathSeparator & "temp.gif"
SavePictureAs "Picture 1", Fname, "GIF"
UserForm1.Image1.Picture = LoadPicture(Fname)
End Sub
Sub SavePictureAs(strPicName As String, strFile As String, strFormat As
String)
Dim wsTemp As Worksheet, chtObj As Chart, pObj As Picture
Dim dblWidth As Double, dblHeight As Double
ActiveSheet.Shapes(strPicName).Select
Set pObj = Selection
dblWidth = pObj.Width: dblHeight = pObj.Height: pObj.Copy
Application.ScreenUpdating = False
Set chtObj = Charts.Add: Set wsTemp = Sheets.Add
chtObj.Location Whe=xlLocationAsObject, Name:=wsTemp.Name
wsTemp.Range("A1").Select
With wsTemp.ChartObjects(1)
.Top = 0
.Left = 0
.Width = dblWidth
.Height = dblHeight
.Activate
.Chart.Paste
.Interior.ColorIndex = 1
.Chart.Export FileName:=strFile, FilterName:=strFormat
End With
Application.DisplayAlerts = False: wsTemp.Delete
Application.DisplayAlerts = True: Application.ScreenUpdating = True
End Sub
If this post helps click Yes
---------------
Jacob Skaria
"CG Rosen" wrote:
Hi Group,
The code below loads a chart from a worksheet into an image in a userform.
Is it at all possible to use the some approach to load a picture inserted in
a
worksheet into the userform image?
Brgds
CG Rosn
Set CurrentChart = Sheets("Sheet1").ChartObjects(1).Chart
'Save chart as GIF
Fname = ThisWorkbook.Path & Application.PathSeparator & "temp.gif"
CurrentChart.Export Filename:=Fname, FilterName:="GIF"
'Show the chart
UserForm1.Image1.Picture = LoadPicture(Fname)
Kill (ThisWorkbook.Path & Application.PathSeparator & "temp.gif")
|