2

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.

1 Answer 1

1

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
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.