HOME > 即効テクニック > Excel VBA > セル操作関連のテクニック > セル範囲を画像としてコピーする(CopyPictureメソッド)

セル範囲を画像としてコピーする(CopyPictureメソッド)|Excel VBA

セル操作関連のテクニック

セル範囲を画像としてコピーする(CopyPictureメソッド)

(Excel 97/2000/2002/2003/2007/2010)

対象をピクチャ(画像)としてクリップボードにコピーします。
Excel 2007以降の[ホーム]タブ→[貼りつけ]→[図]→[図としてコピー]の機能、Excel 2003以前の[Shift]キーを押しながら[編集]メニューを選択した時に表示される[図のコピー]の機能と同じです。
セル範囲を対象とした場合、そのセル範囲に埋め込まれている図形も一緒にコピーされます。なお、複数のセル範囲に対しては実行できません。

構文 Object.CopyPicture(Appearance, Format, Size)

設定項目 内容
Object Range,Chart,ChartObject, ChartObjectsコレクション, Shape, OLEObject,OLEObjectsコレクションオブジェクト
Appearance コピー形式を指定。画面表示に近い形式(xlScreen:既定値)、印刷時のイメージと同じ形式(xlPrinter) [省略可能]
Format ピクチャの形式を指定。ピクチャ形式(xlPicture:既定値)、ビットマップ形式(xlBitmap)[省略可能]
Size グラフシートが対象のときだけ、ピクチャのコピーサイズを指定。
画面表示のサイズ(xlScreen:既定値)、印刷時サイズ(xlPrinter) [省略可能]
      

次のサンプルは、セル範囲B1:G12のイメージを画面表示に近い形式で、ピクチャとして新しく追加したシートに貼り付けます。

●サンプル●

Sub CopyPictureSamp1()
    Range("B1:G12").CopyPicture _
        Appearance:=xlScreen, Format:=xlPicture 
    Worksheets.Add Before:=ActiveSheet          
    ActiveSheet.Paste                           
End Sub

ビットマップ形式で画像をコピーすると、画像のファイルサイズが大きくなりますので、単にワークシートなどに貼り付けるだけの用途の場合には、ピクチャ形式でコピーすることをお勧めします。