セルの内容をコピー&ペーストで貼り付けます。
次のようなデータを作っておきます。
サンプルコード
コード内、Wクリックでコピーできます。
Sub サンプル2040() Range("B3:C5").Copy Range("B8").PasteSpecial Range("E8").PasteSpecial End Sub
Range("B3:C5").Copy
セルB3からセルC5 の内容がコピーされます。
Range("B8").PasteSpecial
コピーしたデータを、セルB8に貼り付けます。
Range("E8").PasteSpecial
コピーしたデータを、セルE8に貼り付けます。
セルの背景、罫線は貼り付けされますが、列幅は貼り付けされません。
●マクロの実行結果
コピー先 1 では、列幅が同じなので元データと同じになります。
コピー先 2 では、背景やセルのデータはペーストされますが、列幅はペーストされません。
セルの列幅を貼り付ける
サンプルコード
コード内、Wクリックでコピーできます。
Sub サンプル2045() Range("B3:C5").Copy Range("B8").PasteSpecial Range("E8").PasteSpecial Range("E8").PasteSpecial (xlPasteColumnWidths) End Sub
Range("E8").PasteSpecial (xlPasteColumnWidths)
上のコードを追加すると、列幅を貼り付ける事ができます。
●マクロの実行結果
コピー先 2 のE列の幅が広がりました。
セルの書式やセル幅だけをペーストする
サンプルコード
コード内、Wクリックでコピーできます。
Sub サンプル2050() Range("B3:C5").Copy Range("B8").PasteSpecial (xlPasteFormats) Range("E8").PasteSpecial (xlPasteFormats) Range("E8").PasteSpecial (xlPasteColumnWidths) Application.CutCopyMode = False Range("A1").Select End Sub
Range("B3:C5").Copy
セルB3からセルC5の内容がコピーされます。
Range("B8").PasteSpecial (xlPasteFormats)
セルB8に書式だけを貼り付けます。
Range("E8").PasteSpecial (xlPasteFormats)
セルB8に書式だけを貼り付けます。
Range("E8").PasteSpecial (xlPasteColumnWidths)
セルB8の列幅を広げます。
Application.CutCopyMode = False
コピーモードを解除します。
Range("A1").Select
セルの位置をセルA1にします。
●マクロの実行結果
元データの数値は、入力されず書式だけペーストされます。
セルE8の列幅も、広がります。
以上で「セルの内容をコピーして貼り付ける」の説明を終わります。