CellsとRangeそれぞれの使用方法と特徴

セルを指定する方法は Cells を使用する方法と Range を使用する方法の2つがあります。それぞれ特徴がありますので、しっかりマスターして臨機応変に使い分けられるようにしましょう。

スポンサーリンク

Cells の使用方法

Cells は、行番号と列番号をセットで指定する方法と、インデックスにより指定する方法があります。主に繰り返し処理などで行や列を順に参照する場合などに使用します。Valueなどの各種プロパティにより、値の設定および取得ができます。

構文
Cells([行番号], [列番号])

または、

構文1-2
Cells([インデックス])

行・列番号によりセルを指定する例(構文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

 繰り返し処理 For…Next

sample6_1の実行結果
sample6_1の実行結果

セル値設定時にブックやシートを省略した場合はアクティブシート(現在画面表示されているシート)が処理対象となります。

インデックスによりセルを指定する例(構文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

 繰り返し処理 For…Next Withステートメント

sample6_2の実行結果
sample6_2の実行結果

Range の使用方法

“A1″などのアドレスによりセルを指定します。主にセルの範囲を指定する場合などに使用します。 アドレスをカンマ(,)やコロン(:)で区切ると複数セルやセル範囲を指定することができます。 Cellsと同じくValueなどの各種プロパティにより、値を設定および取得ができます。

構文2-1
Range("[アドレス]")
構文2-2
Range("[アドレス], [アドレス], …")
構文2-3
Range("[アドレス]:[アドレス], …")
構文2-4
Range("[セル1], [セル2], …")
※[セル1]、[セル2]はCellsとRangeのどちらを使用してもOKです。

アドレスによって複数のセルを指定する例(構文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ステートメント セル書式(フォント) セル書式(背景色・パターン)

sample6_3の実行結果
sample6_3の実行結果

セルによって範囲を指定する例(構文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

 Withステートメント セル書式(フォント) セル書式(背景色・パターン)

sample6_4の実行結果
sample6_4の実行結果
タイトルとURLをコピーしました