スポンサーリンク

セルの内容をコピー&ペーストで貼り付けます。

次のようなデータを作っておきます。

サンプルコード
 コード内、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の列幅も、広がります。

以上で「セルの内容をコピーして貼り付ける」の説明を終わります。




おすすめの記事