マクロルーティン#9(複数列のコピー)
複数の列をコピーして別の列にそのまま貼り付ける
皆さんこんにちは。
今回は複数の列をコピーして別の列にそのまま貼り付けるというコードの書き方をご紹介します。
◆目標
A列B列をD列E列にそのままコピー&ペーストする。
◆マクロルーティン#8を読んでいただいた方ありがとうございます。
以下のようにかけたら正解です。
列番号での書き方は次のとおりです。
★自分が書きやすいほうで書きましょう。
ここで、この2行のコードを1行で書く書き方をご紹介します。
◆書くコード
Columns("A:B").Copy Columns("D")
◆解説
連続する複数列を指定する場合は最初の列名と最後の列名をコロンで区切ってダブルクォーテーションで囲みます。
Columns("最初の列名:最後の列名")
◆書く場所
マクロルーティン#0 (目次の4参照)
× Columns("1:2").Copy Columns("D")
こういう書き方はできないのでマクロは動きません。やってみましょう。
★Columnsで列番号を使う場合は1列指定になります。
列選択のほかの書き方をご紹介します。
「.Select」というのが初めてでてきますが、これは選択するときに使います。
・Range("A:B").Select
・Range(Columns(1), Columns(2)).Select
・Range(Columns("A"), Columns("B")).Select
Rangeを使った列選択の書き方を3つ紹介しましたが、これらは最初にご紹介した書き方が慣れてから覚えるとよいでしょう。
列の操作ここまでのまとめ
マクロルーティン#8, から列のコピーについてご紹介してきました。
ここで列の取得についてSelect(選択)を使って以下にまとめておきます。
★Selectは選択するときに使います。ここでご紹介の場とさせていただきます。
書き方のパターンを一度に全部覚えようとするよりも一つの書き方を完全に覚えることで2つ目の書き方との区別がしやすくなり、覚えやすくなります。まずは自分が好きな書き方から覚えるようにしましょう。
それでは問題です。
下図のようにA列からC列をコピーしてE列からG列にそのまま貼り付けるマクロを作ってください。
今日は以上です。解答はマクロルーティン#10で。