- 公開日:2016-7-14
- プロスタTOP / プログラミング初心者向け技術系ノウハウ・まとめ

セルの指定方法について解説します。VBAでは作業対象となるセルを指定して処理内容を記述するという書き方が非常に多いので、ここで設定ミスをしてしまわないようしっかりと理解を深めましょう。
Cellsプロパティによる指定
Cells()のカッコ内に対象となるセルの行数および列数をカンマ区切りで指定します。このときCells(行数, 列数)というように縦方向の番号を最初に入力することがポイントです。
例では分かりやすいように指定したセルの色付けを行っています。(.Interior.ColorIndex = 6 ⇒ セルの色を黄色にする)
<コード>
1 |
Cells(3, 2).Interior.ColorIndex = 6 |
<実行例>
Rangeプロパティによる指定
Range()のカッコ内に対象となるセルを≪列数を示すアルファベット+行数を示す数字≫で指定します。
また、Rangeは複数のセルの範囲について先頭のセルと終端のセルを:で区切ることにより指定することができます。
<コード>
1 2 |
Range("B2").Interior.ColorIndex = 6 Range("B4:D6").Interior.ColorIndex = 6 '複数のセルの範囲を指定 |
<実行例>
行・列全体の指定
Rowsプロパティで行全体を、Columnプロパティで列全体を指定することができます。
なお、複数の行や列を指定したい場合は先頭の値と終端の値を:で区切ります。
<コード>
1 2 3 4 |
Rows("2").Interior.ColorIndex = 41 '2行目をブルーで塗りつぶす Rows("4:6").Interior.ColorIndex = 6 '複数の行を指定 Columns("B").Interior.ColorIndex = 41 'B2行目をブルーで塗りつぶす Columns("D:E").Interior.ColorIndex = 6 '複数の列を指定 |
<実行例>
Offsetによる指定
作業しているセルの1つ隣を指定したいというような場合はOffsetを使います。Offset()のカッコ内に元の位置から移動する分の行数および列数をカンマ区切りで指定します。このとき右や下方向へ移動する場合は正の整数値を、左や上方向へ移動する場合は負の整数値を指定します。
<コード:C3セルを起点にOffsetによる指定>
1 2 3 4 5 6 7 8 |
Range("C3").Offset(1, 0).Interior.ColorIndex = 3 '赤 Range("C3").Offset(1, -1).Interior.ColorIndex = 44 '黄 Range("C3").Offset(0, -1).Interior.ColorIndex = 14 '緑 Range("C3").Offset(-1, -1).Interior.ColorIndex = 33 '水色 Range("C3").Offset(-1, 0).Interior.ColorIndex = 47 '紫 Range("C3").Offset(-1, 1).Interior.ColorIndex = 46 '茶 Range("C3").Offset(0, 1).Interior.ColorIndex = 15 'グレー Range("C3").Offset(1, 1).Interior.ColorIndex = 1 '黒 |
<実行例>
まとめ
VBAではセルを指定する方法は様々な種類があります。この設定方法によって後のコードの書き方も変わってくるのでシチュエーションによって、最も効率的なやり方で指定できるようにしていきたいですね。