OfficeType

VBA~列をコピーしよう~Excel

VBAで列をコピーしたい時はRange.Copyメソッドでコピーできます。

単一列のコピー

単一列をコピーしたい時はColumns("列のアルファベット").Copy Columns("貼り付け先の列のアルファベット")またはColumns(列番号).Copy Columns(貼り付け先の列番号)でコピーできます。アルファベットで指定する時は"(ダブルクォーテーション)で囲みます。

下のコードを実行すると列Bが列Gにコピーされます。

Sub test1()

Columns("B").Copy Columns("G")

End Sub

image-01

image-02

連続列のコピー

連続列をコピーしたい時はColumns("開始列の列のアルファベット:終了列の列のアルファベット").Copy Columns(貼り付け先の一番左の列のアルファベット)でコピーできます。

下のコードを実行すると列Bから列Dが列Gから列Iにコピーされます。

Sub test2()

Columns("B:D").Copy Columns("G")

End Sub

image-03

image-04

非連続列のコピー

非連続列をコピーしたい時はRange("一つ目の列のアルファベット:一つ目の列のアルファベット,二つ目の列のアルファベット:二つ目の列のアルファベット").Copy Columns(貼り付け先の一番左の列のアルファベット)でコピーできます。カンマで区切ることでさらに複数の列をコピーできます。

下のコードを実行すると列Bと列Dが列G,列Hにコピーされます。

Sub test3()

Range("B:B,D:D").Copy Columns("G")

End Sub

image-05

image-06