見出し画像

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

複数列のコピー&ペースト(いろいろなコードの書き方)

画像1

皆さんこんにちは。
今回は複数の列のコピー&ペーストのコードの書き方についてまとめておこうと思います。なぜかというと私自身この部分に関してちょくちょくつまづいていたからです。

◆目標
複数列をコピペするコードの書き方はいろいろあるので自分の書き方を決めておく。

◆まずは複数列(A列からC列)を選択する書き方を以下に4種類あげます。
選択するには「.Select」を使います。

1)Columns("A:C").Select
2)Range("A:C").Select
3)Range(Columns(1), Columns(3)).Select
4)Range(Columns("A"), Columns("C")).Select

★以下のように実際に書いてみて実行してみましょう。

画像2

書く場所→マクロルーティン#0 (目次の4参照)

おすすめの書き方【重要】

やはり列といえばColumnsなので、
1)の Columns("A:C") がわかりやすくていいと思います。

2)のRangeを使う書き方ですが、Rangeというとセルの印象が強いので
Range("A1")という書き方のほうを、まずは定着させたいところです。
実はこの2つの書き方がこんがらがって「???」となる原因になっていました。
 ・Range(”A1”) → (セル名)A1を指定
 ・Range("A:C") → A列からC列を指定
そして
 ・Range(”1:3”) → 1行目から3行目まで指定
があるのです。

3)のRange(Columns(1), Columns(3))
これは列を取得するときに列名(AとかBとか)がわからない状況の時に私は使います。(実際あまり使うことはないです。)

4)のRange(Columns("A"), Columns("C"))
こういう書き方もできますよ。という例です。

今回の解答例

画像3

書く場所→マクロルーティン#0 (目次の4参照)
いろいろ書いてみて実行してみましょう!


画像6

貼付け先の書き方もいろいろです。

画像4

① Columns("A:C").Copy Columns("E")
② Columns("A:C").Copy Range("E1")
③ Columns("A:C").Copy Columns("E:G")

全て同じ結果になります。まずは自分の書き方を定着させましょう。

本日は以上です。
いろいろ細かいことを書きましたが、書き方がわからなくなるのを防ぐためにも自分の書き方を一つ定着させておくといいですよ。ということでした。

最後まで読んでいただいてありがとうございました。
マクロルーティン#11では、別シートへのコピーの書き方をご紹介しようと思います。





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