Excel VBA:コピー&ペースト(画像でコピーする方法)

コピーはCopyメソッド、ペーストはPasteメソッドを使用します。



Homeに戻る > Excel 数値・文字列・検索・印刷のTipsへ


Excel VBAでクリップボードにコピーし、シート上に貼り付ける方法です。

CopyPictureを使えば、セルを画像としてコピーできます。


Copyメソッドの構文

セルにコピーします。

Object.Copy(Destination)

  • Object:Rangeオブジェクト
  • Destination:(省略可能)貼り付け先のセルを示すRangeオブジェクト
    省略した場合はコピーモードになり、貼り付けは行われません。

CopyPictureメソッドの構文

セル範囲を画像としてコピーする。

Object.CopyPicture(Appearance, Format, Size)

  • Object:Range、Chart、Shapeなどのオブジェクト
  • Appearance:(省略可能)コピー形式を指定します。
    xlScreen:(既定値)画面表示に近い形式
    xlPrinter:印刷時のイメージと同じ形式
  • Format:(省略可能)ピクチャの形式を指定します。
    xlPicture:(既定値)ピクチャ形式
    xlBitmap:ビットマップ形式
  • Size:(省略可能)グラフシートが対象の時、ピクチャのコピーサイズを指定します。
    xlScreen:(既定値)画面表示のサイズ
    xlPrinter:印刷時サイズ

Pasteメソッドの構文

セルに貼り付けます。

Object.Paste(Destination, Link)

  • Object:Worksheetオブジェクト
  • Destination:(省略可能)貼り付け先のセルを示すRangeオブジェクト
  • Link:(省略可能)Trueを設定するとリンク貼り付け、Falseを設定するとリンク貼り付けをしない

関連する「Excel VBAで選択範囲をJPEGで保存する」を掲載しています、参照してください。



コピーしシート上にセルを画像として貼り付ける方法

Excelシート画面

「コピー&ペースト」ボタンをクリックすると、

  1. B6をC6へ
  2. B8:B9をC8へ
  3. B11:B13をビットマップ画像としてC11へコピーされます。

C11は選択状態から画像のオブジェクトであることが分かります。




Excel VBA実行コード

Option Explicit

Private Sub CommandButton1_Click()
    Range("B6").Copy
    ActiveSheet.Paste Destination:=Range("C6")
    
    Range("B8:B9").Copy
    ActiveSheet.Paste Destination:=Range("C8")

    Range("B11:B13").CopyPicture Format:=xlBitmap
    ActiveSheet.Paste Destination:=Range("C11")

End Sub




Homeに戻る > Excel 数値・文字列・検索・印刷のTipsへ

■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します


Copyright (c) Excel-Excel ! All rights reserved