VBAで図として貼付け方法(VBAで図を操る④)

Excelシートを画像として使いたい時、セル範囲をコピーして画像として貼付けすることがありますよね。

今回はこれをVBAで自動化する方法を紹介します。

選択範囲を図として貼付け

Sub SelectCopyPicture()
'選択範囲を図としてコピー⇒貼付け

    Selection.CopyPicture _
        Appearance:=xlScreen, Format:=xlPicture
    ActiveSheet.Paste
End Sub

このマクロを実行すると、選択している範囲を図としてコピーして貼付けできます。

画像として貼付けしたい場合はCopyPictureメソッドを使います。
このメソッドを使ってセル範囲をコピーすると画像として貼付けする事ができます。

このメソッドの引数Appearance、Formatの役割は次のようになります。

説明 既定値
Appearanceコピーする方法xlScreen
Format図の書式を設定xlPicture

省略した場合は既定値が適用されるため、引数はつけなくても問題ありません。
※普通に使う分には既定値で大丈夫です。

範囲を図として貼付け

Sub RangeCopyPicture()
'範囲を図としてコピー⇒貼付け

    Range("A1:D4").CopyPicture _
        Appearance:=xlScreen, Format:=xlPicture
    ActiveSheet.Paste Destination:=Cells(5, 5)
End Sub

こちらのマクロではコピーする範囲と貼付ける位置をRangeオブジェクトで指定しています。

実行すると、Range(“A1:D4")の範囲がコピーされ、Cells(5, 5)の位置を基準に貼付けされます。

For文などを用いて複数個の図を一度に作成したい場合は、このコードを参考にコピー範囲を指定してみてください。

他の「VBAで図を操る」の記事はこちらからどうぞ