Excel VBA 値を貼り付ける Pasteメソッド PasteSpecialメソッド

スポンサーリンク

クリップボードの値を貼り付けるメソッド一覧

メソッド内容
Paste【ペースト】クリップボードに保管された値を
指定の場所に貼り付けます。
PasteSpecial【ペーストスペシャル】クリップボードに保管されたデータを
指定の場所に内容を指定して貼り付けます。

Paste【ペースト】メソッド

Paste【ペースト】メソッドは、Worksheet【ワークシート】オブジェクトのメンバーです。Range【レンジ】オブジェクトには、Paste【ペースト】メソッドはありません。例えば、「Range(“A1”).Paste」とするとエラーになります。Range【レンジ】オブジェクトを使用する場合は、PasteSpecial【ペーストスペシャル】メソッドを使用します。

Paste【ペースト】メソッドの書式と設定値(引数)の説明

[]内は省略可能です。
オブジェクト.past[(Destination,Link)]

  • オブジェクト(必須)
    Worksheetオブジェクトを指定します。
  • Destination【デスティネーション】(省略可)
    貼り付け先のセルを指定します。省略した場合は、現在の選択範囲に貼り付けられます。このコードの前に、貼り付けたいセルをActivate【アクティベート】メソッドでアクティブ状態にすれば希望の場所に貼り付けることができます。この引数を指定した場合は引数Linkの指定はできません。
  • Link【リンク】(省略可)
    Trueを指定した場合は、貼り付けたデータと元データをリンクします。省略した場合はリンクしません。この引数を指定した場合は引数Destinationの指定はできないのであらかじめ貼付け先のセルを選択しておく必要があります。

A1セルから始まる表範囲をA5セルにリンクで貼り付けるコード例

Sub 貼り付け()
With ActiveSheet
  .Range("A1").CurrentRegion.Copy
  .Range("A5").Activate
  .Paste link:=True
End With
Application.CutCopyMode = False
End Sub

※ApplicationオブジェクトのCutCopyMode【カットコピーモード】プロパティの値をFalseにすることにより、コピー元のセル範囲の点滅(コピーモード)を解除することができます。コピーモード(点滅)状態では、続けて別のセル範囲にコピー元の値を貼り付けることができます。
※Copy【コピー】メソッドについてはこちらをご覧下さい。

実行結果


PasteSpecial【ペーストスペシャル】メソッド

指定したセル範囲に内容を指定してクリップボードに保管されたデータを貼り付けるには、Range【レンジ】オブジェクトのPasteSpecial【ペーストスペシャル】メソッドを使用します。

PasteSpecial【ペーストスペシャル】メソッドの書式と設定値(引数)の説明

[]内は省略可能です。
オブジェクト.PasteSpecial[(Paste,Operation,SkipBlanks,Transpose)]

  • オブジェクト(必須)
    貼り付ける基準のセルをRangeオブジェクトを指定します。
  • Paste【ペースト】(省略可)
    貼り付ける内容をxlPasteType列挙型の定数で指定します。
xlPasteType列挙型の定数
定数内容
xlPasteAll (既定値)すべてのオブジェクトを貼り付けます。
xlPasteAllExceptBorders罫線を除くすべてのオブジェクトを貼り付けます。
xlPasteColumnWidths貼付元のセルの列幅を貼付先のセルに適用します。
xlPasteCommentsコメントを貼り付けます。
xlPasteFormats書式を貼り付けます。
xlPasteFormulas数式を貼り付けます。
xlPasteFormulasAndNumberFormats数式と数値書式を貼り付けます。
xlPasteValidation貼付元セルの入力規則を貼付先セルに適用します。
xlPasteValues値だけを貼り付けます。
xlPasteValuesAndNumberFormats数値書式だけを貼り付けます。
  • Operation【オペレーション】(省略可)
    貼り付ける際の演算内容をxlPasteSpecialOperation列挙型の定数で指定します。
xlPasteSpecialOperation列挙型の定数
定数内容
xlPasteSpecialOperationNone (既定値)演算を行わない
xlPasteSpecialOperationAdd加算
xlPasteSpecialOperationSubtract減算
xlPasteSpecialOperationMultiply乗算
xlPasteSpecialOperationDivide除算

  • SkipBlanks【スキップブランクス】(省略可)
    Trueを指定した場合、空白セルを貼付けの対象にしません。省略した場合は空白セルも貼付けの対象になります。
  • Transpose【トランスポーズ】(省略可)
    Trueを指定した場合、行と列を入れ替えて貼り付けます。省略した場合は入れ替えません。

A1セルから始まる表範囲をA5セルに値のみで貼り付けるコード例

Sub 貼り付け2()
  Range("A1").CurrentRegion.Copy
  Range("A5").PasteSpecial
  Application.CutCopyMode = False
End Sub

実行結果


以上で、値を貼り付ける Paste【ペースト】メソッド PasteSpecial【ペーストスペシャル】メソッドについての解説を終了します。ありがとうございました。

スポンサーリンク

関連記事・広告