PasteSpecial メソッドを使用して貼り付け

タイトルのマクロは、以下です。

' PasteSpecial メソッドを使用して貼り付け
Private Sub Range_Copy_PasteSpecial()
    With Sheet3
        ' セル範囲B2からD5をコピーする
        .Range("B2:D5").Copy
        
        ' コピーしたデータの書式をセル範囲F2に貼り付ける
        .Range("F2").PasteSpecial xlPasteFormats
        ' コピーしたデータの値をセル範囲F7に貼り付け、行列入替する
        .Range("F7").PasteSpecial xlPasteValues, Transpose:=True
    End With
End Sub

マクロ実行前のシートは、以下

マクロ実行後は、以下の通りです。

コードの説明

  1. サブルーチンの宣言:
    • このサブルーチンは、PasteSpecial メソッドを使用してセル範囲の書式と値を特定の範囲に貼り付ける操作を行います。
  2. シートへの参照:
    • Sheet3 を対象とした操作を With ステートメント内で行います。
  3. セル範囲のコピー:
    • セル範囲 B2:D5 をクリップボードにコピーします。
  4. 書式の貼り付け:
    • クリップボードにあるデータの書式だけを、セル F2 に貼り付けます。
    • .PasteSpecial xlPasteFormats は、書式のみを貼り付けるためのオプションです。
  5. 値の貼り付けと行列の入れ替え:.Range("F7").PasteSpecial xlPasteValues, Transpose:=True
    • クリップボードにあるデータの値だけを、セル F7 に貼り付け、行と列を入れ替えます。
    • .PasteSpecial xlPasteValues は、値のみを貼り付けるためのオプションです。
    • Transpose:=True は、行と列を入れ替えるためのオプションです。

補足説明

  • .Copy メソッド:
    • .Copy メソッドは、指定したセル範囲をクリップボードにコピーします。
  • .PasteSpecial メソッド:
    • .PasteSpecial メソッドは、クリップボードの内容を特定のセル範囲に特定の形式で貼り付けるために使用します。
    • xlPasteFormats は書式を貼り付けるオプションです。
    • xlPasteValues は値を貼り付けるオプションです。
    • Transpose:=True は、行と列を入れ替えるためのオプションです。

このコードを実行すると、B2:D5 のセル範囲がクリップボードにコピーされ、その書式が F2 に貼り付けられ、値が行と列を入れ替えられて F7 に貼り付けられます。

Follow me!

Excel

前の記事

セル範囲のコピー、カット
Excel

次の記事

セル範囲をクリアする