このサイトの記事内では「アフィリエイト広告」などの広告を掲載している場合があります。
消費者庁が問題としている「誇大な宣伝や表現」とならないよう配慮しコンテンツを制作しておりますのでご安心ください。
問題のある表現が見つかりましたらお問い合わせよりご一報いただけますと幸いです。

【VBA】選択範囲を画像として貼付ける方法

2024年3月19日

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

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

VBAが難しいと感じたら
ココナラにてマクロ(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が難しいと感じたら
ココナラにてマクロ(VBA)の作成代行を始めました。
ご依頼はこちらから