Excel VBA | Range と Cells の使い分け早見表(Excel VBA 初心者向け)

VBA
スポンサーリンク

Excel VBAでセルを指定する方法は大きく RangeCells の2種類があります。どちらを使うべきか迷いやすいので、早見表にまとめました。


早見表

項目RangeCells
指定方法文字列で指定(例: "A1", "B2:C5"行番号・列番号で指定(例: (1,1), (2,3)
わかりやすさ人間にとって直感的(Excelの見た目と同じ)プログラム的(数値で場所を指定)
柔軟性固定セルや範囲を指定するのに便利繰り返し処理や動的な位置指定に便利
範囲指定"A1:C10" のように文字列でまとめて指定できるRange(Cells(1,1), Cells(10,3)) のように組み合わせて指定
ループとの相性不向き(文字列を組み立てる必要あり)向いている(行番号や列番号を変数で扱える)
例:A1に値を入れるRange("A1").Value = 100Cells(1,1).Value = 100
例:A1〜A10に連番を入れる少し複雑(Range("A" & i) のように文字列結合が必要)シンプル(Cells(i,1) でOK)

使い分けのコツ

  • 固定セルや見た目でわかる範囲 → Range
    例: 「A1にタイトルを入れる」「A1〜C1を見出しにする」
  • 繰り返し処理や動的に変わるセル → Cells
    例: 「1行目から100行目まで順番に処理」「最終行まで自動で処理」
  • 範囲を動的に指定したいとき → Range + Cells の組み合わせ Range(Cells(1,1), Cells(10,3)).Interior.Color = vbYellow ' A1〜C10を黄色に

まとめ

  • Range は「人間にわかりやすい」
  • Cells は「プログラムに書きやすい」
  • 両方を組み合わせると最強
VBA
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました