この記事ではRangeをつかってセルを指定する方法について解説しています。
- セルの指定する方法を知りたい人
- Rangeで指定する方法を確認したい人
- 最近Excel VBAの学習を始めた人
VBAの基本中の基本ですのでしっかりと覚えておきましょう!!
Rangeプロパティとは?
簡単に言えばセル範囲を指定する為のプロパティです。
セル範囲を指定する事で、指定したセルの値や背景色、文字色を変更したりする事が出来るようになります。
他にもたくさんの事を出来ますので覚えて損はありません。
Rangeの他にもCellsプロパティがありますが、どちらもRangeオブジェクトを取得する為のプロパティですので本質的な違いはありません。
Rangeプロパティの使い方
例えばA1のセルに「ましゅかぶろぐ」と入力する場合は次のように記述します。
1 2 3 4 5 6 7 8 |
Sub sample() ActiveSheet.Range("A1").Value = "ましゅかぶろぐ" 'ActiveSheetの部分は省略出来る Range("A1").Value = "ましゅかぶろぐ" End Sub |
2通りの記述方法をご紹介しましたが、どちらも意味は変わりません。
ActiveSheetの部分は省略出来ますが省略する事に慣れてしまうと、シートを跨いで動作するようなマクロを作成する時にここが原因で正常に動作しないケースもよく見られます。
省略しても問題ありませんが、本当はそこにActiveSheetがある事を覚えて置きましょう。
ActiveSheetの部分に他のワークシートを指定する事も可能です。
ワークシート名での指定方法はいくつかありますので別の記事でご紹介予定です。
それでは具体的なセルの指定方法について確認していきましょう。
今回は.Selectを使ってセルを選択するコードで解説します。
一つのセルを指定する
一つのセルを指定する場合には次のように記述します。
1 2 3 4 5 |
Sub sample() Range("B2").Select End Sub |
複数のセルを指定する
複数のセルを指定する場合には次のように記述します。
1 2 3 4 5 |
Sub sample() Range("A1:D8").Select End Sub |
列全体を指定する
列全体を指定する場合は次のように記述します。
連続した複数の列をまとめて指定することも出来ます。
1 2 3 4 5 6 7 8 9 10 11 12 |
Sub sample() Range("A1").Select '複数の列を指定する場合 '方法① Range("A:F").Select '方法② Range("A:A","F:F").Select End Sub |
行全体を指定する
行全体を指定する場合は次のように記述します。
連続した複数の行をまとめて指定する事も出来ます。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
Sub sample() '1行だけ指定する場合 Range("1:1").Select '複数の行を指定する場合 '方法① Range("1:8").Select '方法② Range("1:1","8:8").Select End Sub |
名前定義されているセルを指定する
名前定義されているセルを指定する場合は次のように記述します。
ダブルクォーテーションの中に名前定義の名前を記述する事で指定する事が出来ます。
1 2 3 4 5 |
Sub sample() Range("名前定義の名前").Select End Sub |
まとめ
使い方は様々ですが、RangeプロパティはVBAの学習が進むと自然と使う頻度が減っていきます。
変数を使用してセルを繰り返し処理で操作するようになるとRangeよりもCellsの方が使い勝手が良い為、Rangeでしか出来ない事で無ければCellsを使うようになります。
RangeとCellsの使い分け方について詳しく確認したい方はこちらの記事をご確認下さい
コメント