Excel VBA:コピーと貼り付け - Copy・Paste・Cutメソッド

よく使用するコマンドに、カット・コピー・ペースト(貼り付け)がありますが、それをVBAで行うには、カットはCutメソッド、コピーはCopyメソッド、ペーストはPasteメソッドを使用します。

Homeに戻る > Excel セルのTipsへ

さらにペーストには、形式を選択して貼り付けに当たる、PasteSpecialがあります。

  • Copyメソッド: Rangeオブジェクト.Copy(コピー先Rangeオブジェクト)
    コピー先を省略した場合、クリップボードに保存されます。
  • Pasteメソッド:  Worksheet オブジェクト.paste(ペースト先Rangeオブジェクト、Link)
    元データの間にリンクするなら、LinkをTrueにします。既定値はFalseです。
    Pasteメソッドはクリップボードの内容に合うように貼り付け先範囲を調節しますので、
    貼り付け先は、左上端セルを指定してください。
  • PasteSpecialメソッド: Rangeオブジェクト.PasteSpecial(Paste, Operation, SkipBlanks, Transpose)
    Paste (省略可能)貼り付ける部分を指定
    Operation (省略可能)貼り付けの演算方法を指定
    SkipBlanks (省略可能)空白のセルを貼り付けの対象にしないようにするには、True を指定。既定値は False
    Transpose (省略可能)貼り付けのときにデータの行と列を入れ替えるには、True を指定。既定値は False

リボンを使用した「コピー方法 - 初心者向けexcelの使い方」を掲載しています、参照してください。





「Paste」の定数
xlPasteAll すべて -4104
xlPasteFormulas 数式 -4123
xlPasteValues -4163
xlPasteFormats 書式 -4122
xlPasteComments コメント -4144
xlDataValidation 入力規則 6
xlPasteAllExceptBorders 罫線を除く全て 7
xlColumnWidths 列幅 8

「Operation」の定数
xlPasteSpecialOperationNone しない -4142
xlPasteSpecialOperationAdd 加算 2
xlPasteSpecialOperationSubtract 減算 3
xlPasteSpecialOperationMultiply 乗算 4
xlPasteSpecialOperationDivide 除算 5

コピーと貼り付けを行うVBAの標準モジュールコード

'範囲コピー
Public Sub DoCopy()
    Range("A1:B4").Copy
End Sub

'値のみ貼り付け
Public Sub DoPasteValues()
    Range("D2").PasteSpecial Paste:=xlValues
End Sub

'数式のみ貼り付け
Public Sub DoPasteFormulas()
    Range("D2").PasteSpecial Paste:=xlFormulas
End Sub

'書式のみ貼り付け
Public Sub DoPasteFormats()
    Range("D2").PasteSpecial Paste:=xlFormats
End Sub

'切り取りモード、コピー モード OFF
Public Sub DoCutCopyModeOff()
    Application.CutCopyMode = False
End Sub

実行前

コピー元のデータです。
A4にはSUM(A1:A3)の数式が入力されていて、フォントのサイズや色を変更しています。
SUM

Excel実行結果

DoCopyから順に行い、動作を確認してください。
実行結果

Homeに戻る > Excel セルのTipsへ

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


Copyright (c) Excel-Excel ! All rights reserved