PLACING PIC IN WORKSHEET USING MACRO
Maybe...
Option Explicit
Private Sub Worksheet_Calculate()
Dim oPic As Picture
Dim myCell As Range
Dim myRng As Range
Set myRng = Me.Range("I2,J3,K5")
Me.Pictures.Visible = False
For Each myCell In myRng.Cells
With myCell
For Each oPic In Me.Pictures
If LCase(oPic.Name) = LCase(.Text) Then
oPic.Visible = True
oPic.Top = .Top
oPic.Left = .Left
End If
Next oPic
End With
Next myCell
End Sub
If you have multiple pictures associated with the same cell, then I'd use a
unique identifier to be able to find that picture. Then use that value in the
cell and in the name of the picture.
Pict_1_text1_A1
Pict_2_text1_A1
Pict_3_text1_A1
for pictures associated with A1 when A1 has text1 in it. Kind of...
if lcase(opic.name) like lcase("*_" & .text & "_" & .address(0,0)) then
But I'm not sure if that's what you mean.
Glenn wrote:
I have built a worksheet with the following macro to insert a picture if a
certain cell is true. My question is that:
I have three more pics to add if other individual cells are true. How do i
code this? The following is the code that David gave to me and it works fine
for that one picture. But two or more pictures for different cells??????
Thanks,
GlennOption Explicit
Private Sub Worksheet_Calculate()
Dim oPic As Picture
Me.Pictures.Visible = False
With Range("I2")
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
--
Dave Peterson
|