Excel

グラフをコピーして画像で貼り付け後にサイズ変更

2021-09-29

エクセルのグラフをコピーして画像で別シートへ貼り付け、サイズを変更を自動で実行する方法です。

グラフオブジェクトのみの場合

グラフを選択する方法のうち、「ChartObjects」の方法です。

操作内容

2つのシートがあります。

  1. 貼付先:グラフの画像を貼り付けるシート
  2. グラフ:コピーするグラフがあるシート

シート「グラフ」にあるグラフをコピーします。

グラフ

シート「貼付先」のセルA1に画像として貼り付け、サイズを変更します。

貼付先

サンプルコード

Sub sample()
   Dim sWS As Worksheet: Set sWS = ActiveSheet
   Dim hWS As Worksheet: Set hWS = Worksheets("貼付先")
   
   sWS.ChartObjects(1).CopyPicture 
   hWS.Activate   
   With hWS
        .Cells(1, 1).Select
        .Paste
      With Selection.ShapeRange
         .Height = 100
         .Width = 200
      End With
   End With
End Sub  

グラフ内に図形等がありグループ化している場合

例えば、グラフ内に次のような図形(黄色)がある場合は、「ChartObjects」でコピーすると図形は除外されます。

図形があるグラフ

「シート名.ChartObjects(1).CopyPicture」を変更します。

アクティブシートの場合

ActiveSheet.Shapes(1).CopyPicture

「グラフオブジェクトのみの場合」の例を変更した場合

sWS.Shapes(1).CopyPicture

「Shapes」はインディックスのほかに、名前で指定することもできます。

グラフと図形をグループ化すると「グループ化1」のように自動で名前が付けられます。

グループ化したshapes

Shapes名は「Shapes("グループ化1")」です。「"グループ化1"」の名前は変更可能です。

-Excel
-

© 2021 オフィスのQ&A