本記事はエクセル2019で動作確認を行っています。
練習問題は必ずご自身で記述することが、習得への近道です。

本記事はこのような疑問にお答えします。
結論。どちらを使用してもなんら問題ありません。
ただ、RangeもCellsも使い方によりメリットがあるので解説します。
ExcelVBAのコードを書く時に、まず基本になるのがセルの扱い方です。
エクセルはセルを記入したり移動させたりしながら、データを完成させますよね。
セルの値は
・Range
・Cells
のどちらかで記述していきます。
順番に見ていきましょう。
Rangeでセルを扱う
Rangeはセル番地を直接書く表示の仕方です。
Range(“ セル番地“)
例えば「C2のセルにVBA」と記述したいときは、
Range(“C2”).value=”VBA”
と記述します。
Rangeの後にセル番地をカッコで囲むことで、セルの場所を理解させます。
A1は文字列になるので「“(ダブルクォーテーション)」で囲ってあげましょう。
セルの範囲は複数指定したい場合が実務ではもちろんあります。
いろんなRangeの使い方をまとめています。
書き方 | セルの範囲 |
---|---|
Range(“A”) | A1セル |
Range(“A1,E1”) | A1とE1のセル |
Range(“A1:E5”) | A1~E5のセル |
Range(“A1”,”C3”) | A1~C3のセル |
range(cells(1,1),cells(2,2)) | A1~B2のセル ※おすすめ |
Range(“A1:C3,E1:G3”) | A1~C3とE1~G3 |
Rangeを使用するメリットは見てすぐにセル番地がわかるところです。
Cellsでセルを扱う
Rangeは一目でセル番地が分かるのに対して、Cellsは行番号と列番号を使いセルの位置を把握します。
Cells(行,列)
Rangeと同じように「C2のセルにVBA」と記述するを例にとると、
Cells(2,3).value=”VBA”
となります。
2は下に2行下がり、Cは横に3列進むのでこのような記述の仕方です。
Cellsも複数の書き方があり、
書き方 | セルの範囲 |
---|---|
Cells(2,3) | C2セル |
Cells(2,”C”) | C2セル |
Cells | すべてのセル |
Cellsは見た目にはすぐにセル番地が分かりません。
しかし、行と列が数字に分かれていることにより、それぞれの数字を変数にすることで都合がよくなることがあります。
今後ExcelVBAの学習を進めるにあたり、繰り返し処理で役に立ちます。
2種類の書き方があるということを頭に置き、臨機応変な選択を行いましょう。
練習問題
練習問題
RangeとCellsを使い2パターンの記述をしましょう。
B2セルにHello World!と記入してください。
<解答>
Sub セルの練習1 Range(“B2”).value=”Hello World!” End Sub Sub セルの練習2 Cells(2,2).value=”Hello World!” End Sub
うまく表示できましたか?
今回はこの辺りで。
最後まで目を通していただきありがとうございました。