見出し画像

マクロルーティン#9(複数列のコピー)

複数の列をコピーして別の列にそのまま貼り付ける

画像1

皆さんこんにちは。
今回は複数の列をコピーして別の列にそのまま貼り付けるというコードの書き方をご紹介します。

◆目標
A列B列をD列E列にそのままコピー&ペーストする。

マクロルーティン#8を読んでいただいた方ありがとうございます。
以下のようにかけたら正解です。

画像2

列番号での書き方は次のとおりです。

画像3

★自分が書きやすいほうで書きましょう。

ここで、この2行のコードを1行で書く書き方をご紹介します。

◆書くコード
Columns("A:B").Copy Columns("D")

◆解説
連続する複数列を指定する場合は最初の列名と最後の列名をコロンで区切ってダブルクォーテーションで囲みます。
Columns("最初の列名最後の列名")

◆書く場所

マクロルーティン#0 (目次の4参照)

画像8

× Columns("1:2").Copy Columns("D")
こういう書き方はできないのでマクロは動きません。やってみましょう。
★Columnsで列番号を使う場合は1列指定になります。


画像5

列選択のほかの書き方をご紹介します。
「.Select」というのが初めてでてきますが、これは選択するときに使います。

・Range("A:B").Select
・Range(Columns(1), Columns(2)).Select
・Range(Columns("A"), Columns("B")).Select

Rangeを使った列選択の書き方を3つ紹介しましたが、これらは最初にご紹介した書き方が慣れてから覚えるとよいでしょう。

列の操作ここまでのまとめ

マクロルーティン#8, から列のコピーについてご紹介してきました。
ここで列の取得についてSelect(選択)を使って以下にまとめておきます。
★Selectは選択するときに使います。ここでご紹介の場とさせていただきます。

画像6


画像7

書き方のパターンを一度に全部覚えようとするよりも一つの書き方を完全に覚えることで2つ目の書き方との区別がしやすくなり、覚えやすくなります。まずは自分が好きな書き方から覚えるようにしましょう。


それでは問題です。

画像8

下図のようにA列からC列をコピーしてE列からG列にそのまま貼り付けるマクロを作ってください。

画像9


今日は以上です。解答はマクロルーティン#10で。

この記事が気に入ったらサポートをしてみませんか?