
Cells
と Range
の違いってなに?
どちらを使えばいいのか迷う…
実務で役立つ使い分け方法が知りたい!
結論:Rangeは“範囲指定向き”、Cellsは“数値での位置指定向き”



どちらもセルを扱うための命令ですが、指定の仕方や得意分野が異なります。
場面に応じて使い分けることで、VBAコードの見通しが良くなり、柔軟に対応できるようになります。
目次
Rangeとは?|「A1」「B2:C3」など範囲で指定
Range("A1").Value = "こんにちは" Range("B2:C3").Interior.Color = RGB(255, 255, 0)
セル番地や範囲を文字列で指定
可読性が高く、対象がすぐにわかる
複数セルの範囲操作に向いている
Cellsとは?|数値でセルを指定できる柔軟な方法
Cells(1, 1).Value = "こんにちは" ' → A1 Cells(3, 2).Value = "こんにちは" ' → B3
行と列を数値で指定
変数で動的に指定できる
ループ処理との相性が抜群
CellsとRangeの使い分けポイント
特徴 | Range | Cells |
---|---|---|
指定方法 | “A1″形式 | 数値(行, 列) |
範囲の指定 | 可能(”A1:B3″など) | 単一セルのみ(範囲に使う場合は組み合わせる) |
ループとの相性 | △(やや不向き) | ◎(For文との組み合わせに最適) |
可読性 | 高い | 低め(慣れが必要) |
実践例:RangeとCellsで同じ処理をしてみる
A1セルに「テスト」と入力する
Range("A1").Value = "テスト" ' 文字列指定 Cells(1, 1).Value = "テスト" ' 数値指定



結果は同じですが、Cellsは変数に強いのが特徴です。
応用:CellsをRangeと組み合わせるテクニック
Range(Cells(1, 1), Cells(3, 2)).Interior.Color = RGB(200, 255, 200)
A1からB3までを緑色に塗りつぶす。
- Cellsで範囲を指定したうえで、Rangeでまとめて操作
- 変数と組み合わせれば、柔軟な範囲選択が可能に!
まとめ:柔軟性と可読性で選ぼう!
Range は見やすく直感的 → A1、B2:C4 などがすぐわかる
Cells は動的な処理に強い → 数値や変数での操作に便利
両者は併用も可能なので、実務では使い分けが重要
コメント