Question

I have a workbook that has 54 sheets. "Master" Totals" and "Week1" through "Week52"

I am trying to insert an image from a file to a cell on the sheets "Week1" through to "Week52".

I have tried many codes and am able to get the image placed and sized correctly

the codes below both placed the image and I was able to manipulate them to get the image in the right spot and the right size.

I can't however make them run through the other sheets (Week1 through Week52)

Set oPic = Application.ActiveSheet.Shapes.AddPicture("C:\Users\Public\Documents\Cranes\MinerPic.wmf", False, True, 1, 1, 1, 1)
oPic.ScaleHeight 0.3, True
oPic.ScaleWidth 0.3, True
oPic.Top = Range("p2").Top
oPic.Left = Range("p2").Left
.OnAction = "FC4.xlsm!MineSheet"

or

 pPath = "C:\Users\Public\Documents\Cranes\MinerPic.wmf"
 With ActiveSheet.Pictures.Insert(pPath)
 .Left = Range("p2").Left
 .Top = Range("p2").Top
 .ShapeRange.Height = 50
 .ShapeRange.Width = 50
 .OnAction = "FC4.xlsm!MineSheet"

At one stage I was able to place 52 images on top of each other. I suspect this has something to do with the Activesheet command.

I am extremely new to VBA and would appreciate any help.

Thanks in advance. Steve.

Was it helpful?

Solution

Wrap your code like this

For i = 1 To 52
    Set sh = ActiveWorkbook.Worksheets("Week" & i)

    ' Reference the sh object rather than ActiveSheet
    Set oPic = sh.Shapes.AddPicture( ...
    ' or
    With sh.Pictures.Insert(pPath)
    ' rest of your code
Next
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top