Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

VBA to display image on a form - image is defined in Range Name

1 view
Skip to first unread message

Tan

unread,
May 16, 2006, 12:56:01 AM5/16/06
to
I have a picture stored in a range name in an excel spreadsheet. I need a
VBA to display the logo on a form. How can I go about doing it? In the
form, do I define it as an image? If so, then how do I point the image to
the range name?

K Dales

unread,
May 16, 2006, 8:29:01 AM5/16/06
to
Sub InsertPicture(PicturePath as String, PlacementCell as Range)
' PicturePath will be the file path (from your range)
' PlacementCell is the cell where the top left of the picture will go

Dim NewPic As Object

Set NewPic = PlacementCell.Parent.Pictures.Insert(PicturePath)
NewPic.Name = "Logo" ' allows you to easily refer to the picture in the
future
' (i.e. ActiveSheet.Pictures("Logo"))
NewPic.Top = PlacementCell.Top
NewPic.Left = PlacementCell.Left

End Sub
--
- K Dales

Tan

unread,
May 16, 2006, 1:28:01 PM5/16/06
to
Dales

The picture is actually in the spreadsheet, and has a range name defined
with it. I would not want to store the picture in a separate file. Will
your code works to access to picture from based on the range name?

Regards

K Dales

unread,
May 17, 2006, 8:55:01 AM5/17/06
to
My apologies, Tan - I misinterpreted your post to mean the file path was
stored in the range, not the actual picture. You can do the reverse - find
the reference to the picture object, by code like this:

Public Function PictureInRange(SearchRange As Range) As Object
Dim FoundPic As Object

For Each FoundPic In SearchRange.Parent.Pictures
If Not Intersect(FoundPic.TopLeftCell, SearchRange) Is Nothing Then _
Set PictureInRange = FoundPic
Next FoundPic

End Function

However, making use of the picture might be difficult. It can be copied and
pasted elsewhere on a worksheet, but I don't know any easy way to get it onto
a form (as far as I know you cannot paste into a userform image control.

Andy Pope

unread,
May 17, 2006, 10:37:18 AM5/17/06
to
Check out Stephen Bullen's PastePicture example.
http://www.oaltd.co.uk/Excel/SBXLPage.asp#VBA

Cheers
Andy

--

Andy Pope, Microsoft MVP - Excel
http://www.andypope.info

0 new messages