Image Manipulation in Excel

D

Danny

Hi All

I am trying to manipulate some images in an Excel spreasheet using the
following code:

Private Sub Worksheet_Calculate()
Dim oPic As Picture
Me.Pictures.Visible = False
With Range("D3")
For Each oPic In Me.Pictures
If oPic.Name = .Text Then
oPic.Visible = True
oPic.Top = .Top
oPic.Left = .Left
Exit For
End If
Next oPic
End With
End Sub

From the following web page:

http://www.mcgimpsey.com/excel/lookuppics.html

My problem is this code has all images set to visible = False.... I need 1
image visible all the time.

Any ideas on how I can make 1 picture visible all the time

I have 7 Pictures (Picture 1 to 7) that are run by the above code, picture 8
needs to be visible all the time.

Any help appreciated

Regards

Danny
 
J

Joel

Too Simple

Private Sub Worksheet_Calculate()
Dim oPic As Picture
Me.Pictures.Visible = False
With Range("D3")
For Each oPic In Me.Pictures
If oPic.Name = .Text Then
oPic.Visible = True
oPic.Top = .Top
oPic.Left = .Left
Exit For
Else
oPic.Visible = False
End If
Next oPic
End With
End Sub
 
J

Joel

the original code didn't keep Picture 8 visible. This is better

Private Sub Worksheet_Calculate()
Dim oPic As Picture
Me.Pictures.Visible = False
With Range("D3")
For Each oPic In Me.Pictures
Select Case oPic.Name
Case "Picture 8"
'Do Nothing
Case oPic.Name = .Text
oPic.Visible = True
oPic.Top = .Top
oPic.Left = .Left
Case Else
oPic.Visible = False
End Select
Next oPic
End With
End Sub
 
D

Dave Peterson

How about just making sure it's visible:

Private Sub Worksheet_Calculate()
Dim oPic As Picture
Me.Pictures.Visible = False
me.pictures("Picture 8").visible = true
With Range("D3")
For Each oPic In Me.Pictures
If oPic.Name = .Text Then
oPic.Visible = True
oPic.Top = .Top
oPic.Left = .Left
Exit For
End If
Next oPic
End With
End Sub

I bet you don't even notice a flicker--but if you do, you could loop through all
the pictures and hide them if they aren't picture 8.

for each opic in me.pictures
if opic.name = "Picture 8" then
'do nothing
else
opic.visible = false
end if
next opic

This would replace the "Me.Pictures.Visible = False" line.
 
D

Danny

Hi Joel

Thank you very much for your responses!! I can't get either to work at the
moment but you've certainly given me somthing to work with. If I can work it
out I'll post my solution back to you.

If you have any other ideas then please let me know

Thanks once again!!!!

Danny
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top