VBA~列をコピーしよう~Excel
VBAで列をコピーしたい時はRange.Copyメソッドでコピーできます。
単一列のコピー
単一列をコピーしたい時はColumns("列のアルファベット").Copy Columns("貼り付け先の列のアルファベット")またはColumns(列番号).Copy Columns(貼り付け先の列番号)でコピーできます。アルファベットで指定する時は"(ダブルクォーテーション)で囲みます。
下のコードを実行すると列Bが列Gにコピーされます。
Sub test1() Columns("B").Copy Columns("G") End Sub
連続列のコピー
連続列をコピーしたい時はColumns("開始列の列のアルファベット:終了列の列のアルファベット").Copy Columns(貼り付け先の一番左の列のアルファベット)でコピーできます。
下のコードを実行すると列Bから列Dが列Gから列Iにコピーされます。
Sub test2() Columns("B:D").Copy Columns("G") End Sub
非連続列のコピー
非連続列をコピーしたい時はRange("一つ目の列のアルファベット:一つ目の列のアルファベット,二つ目の列のアルファベット:二つ目の列のアルファベット").Copy Columns(貼り付け先の一番左の列のアルファベット)でコピーできます。カンマで区切ることでさらに複数の列をコピーできます。
下のコードを実行すると列Bと列Dが列G,列Hにコピーされます。
Sub test3() Range("B:B,D:D").Copy Columns("G") End Sub