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

即効テクニック

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

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

(Excel 2000)
対象をピクチャ(画像)としてクリップボードにコピーします。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
ビットマップ形式で画像をコピーすると、画像のファイルサイズが大きくなりますので、単にワークシートなどに貼り付けるだけの用途の場合には、ピクチャ形式でコピーすることをお勧めします。