【VBA(初歩)】”Range” & ”Cells” ~セル座標の指定~

2021年12月17日

VBAのコードでセルの位置(座標)を指定する際に用いるのが、
”Range” と ”Cells” です。
今回は大まかな使い分けをご紹介します。

 

広告

[Range]

Rangeの場合は主に変数を用いず、セル・範囲を特定する時に
使用するイメージです。
具体的な使用例は以下です。

1.Range(“B2”).Select  ・・・「B2」を選択する
2.Range(“A1:C3”).Select ・・・「A1」と「C3」を結ぶ範囲を選択する
3.Range(“A:A”).Select  ・・・「A列」を選択する
4.Range(“1:1”) .Select  ・・・「1行目」を選択する

それぞれ実際の画面で見ますと、
分かるようにSelectを用いると下記のようになります。

VBA_Range_Cells_セル座標の指定_1
1.Range(“B2”).Select =「B2」を選択する
VBA_Range_Cells_セル座標の指定_3
2.Range(“A1:C3”).Select =「A1」と「C3」を結ぶ範囲を選択する
VBA_Range_Cells_セル座標の指定_2
3.Range(“A:A”).Select =「A列」を選択する
VBA_Range_Cells_セル座標の指定_5
4.Range(“1:1”) .Select =「1行目」を選択する

 

[Cells]

VBA_Range_Cells_セル座標の指定_10

Cellsでは主に変数を用いてセル・範囲を特定、指定する際に
用いるイメージです。
具体的な使用例は以下です。

1.Cells(1, 2).Select ・・・「B1」を選択する
2.Cells(i[変数], 3).Select ・・・C列の[i]行目 ※
3.Range(Cells(1, 1), Cells(2, 4)).Select ・・・「A1」と「D2」を結ぶ範囲を選択

VBA_Range_Cells_セル座標の指定_11
1.Cells(1, 2).Select =「B1」を選択する
VBA_Range_Cells_セル座標の指定_6
2.Cells(i[変数], 3).Select = C列の[i]行目
VBA_Range_Cells_セル座標の指定_4
3.Range(Cells(1, 1), Cells(2, 4)).Select =「A1」と「D2」を結ぶ範囲を選択

このうち、2と3は多用します。
必ず用法を覚えておいた方が良いです。

※変数については、具体例としては以下のコードが挙げられます。

応用例としてはループを用いた処理が使用頻度高めだと思われますので、
コードと得られる結果を載せておきます。

 Dim i As Long
 
 For i = 1 To 3
  Cells(i, 3) = "A"
 Next i
VBA_Range_Cells_セル座標の指定_8

以上になります。
参考になれば幸いです。

広告