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マクロ実行前のシートは、以下

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

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

