セルを指定する方法は Cells を使用する方法と Range を使用する方法の2つがあります。それぞれ特徴がありますので、しっかりマスターして臨機応変に使い分けられるようにしましょう。
Cells の使用方法
Cells は、行番号と列番号をセットで指定する方法と、インデックスにより指定する方法があります。主に繰り返し処理などで行や列を順に参照する場合などに使用します。Valueなどの各種プロパティにより、値の設定および取得ができます。
または、
行・列番号によりセルを指定する例(構文1-1)
次のサンプルマクロは、行と列をそれぞれForループで繰り返し、セルに値を設定します。
Sub sample6_1()
Dim myRow As Integer
Dim myCol As Integer
For myRow = 3 To 4 ' 3~4行目
For myCol = 2 To 7 ' B~F列
Cells(myRow, myCol).Value = _
myRow & "行" & myCol & "列目"
Next myCol
Next myRow
End Sub
インデックスによりセルを指定する例(構文1-2)
予め範囲指定したレンジに対して、1セルずつインデックスでアクセスする例です。
Sub sample6_2()
Dim Index As Integer
With Range("B3:F4")
For Index = 1 To .Count ' 1~10
.Cells(Index).Value = Index
Next Index
End With
End Sub
Range の使用方法
“A1″などのアドレスによりセルを指定します。主にセルの範囲を指定する場合などに使用します。 アドレスをカンマ(,)やコロン(:)で区切ると複数セルやセル範囲を指定することができます。 Cellsと同じくValueなどの各種プロパティにより、値を設定および取得ができます。
アドレスによって複数のセルを指定する例(構文2-2、2-3)
Sub sample6_3()
'ポイントとなるセルにアドレスを編集しておきます。
Range("A3").Value = "A3"
Range("F4").Value = "F4"
Range("C2").Value = "C2"
Range("D5").Value = "D5"
'複数のセルに文字色と背景色を設定します。
With Range("A3,F4,C2:D5")
.Font.Color = vbWhite
.Interior.Color = vbBlue
End With
End Sub
Withステートメント セル書式(フォント) セル書式(背景色・パターン)
セルによって範囲を指定する例(構文2-4)
Sub sample6_4()
'ポイントとなるセルにアドレスを編集しておきます。
Range("B3").Value = "B3"
Range("E5").Value = "E5"
'複数のセルに文字色と背景色を設定します。
With Range(Range("B3"), Range("E5"))
.Font.Color = vbWhite
.Interior.Color = vbBlue
End With
End Sub