2

54枚のワークブックがあります。「マスター」の合計と「Week1」から「Week52」

「Week1」から「Week52」までのシートのセルにファイルから画像を挿入しようとしています。

私は多くのコードを試しましたが、画像を正しく配置してサイズを調整することができます

以下のコードは両方とも画像を配置し、それらを操作して画像を適切な場所と適切なサイズにすることができました。

ただし、他のシート(Week1から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"

また

 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"

ある段階で、52枚の画像を重ねることができました。これはActivesheetコマンドと関係があると思います。

私はVBAに非常に慣れていないので、助けていただければ幸いです。

前もって感謝します。スティーブ。

4

1 に答える 1

1

このようにコードをラップします

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
于 2012-07-29T03:37:56.410 に答える