アクセス上位ページ
 
最近の更新内容
(6).セル・レンジ ⇐ [PREV]

Excel VBA ≫ 1.基礎編 - セル・レンジ(6)-a.セルとレンジ

セルとレンジ

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



Cells

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

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

または

Cells([インデックス])
※通常は範囲指定(矩形範囲)したレンジに対して使用します。

  • 行・列番号によりセルを指定して値(Value プロパティ)を編集する例
  • ※シートの指定を省略してあるため、マクロ実行時点で最前面に表示されているシートが処理の対象となります。
    Sub sample6_1()
        Dim myRow   As Integer
        Dim myCol   As Integer
    
        For myRow = 3 To 4
            For myCol = 2 To 7
                Cells(myRow, myCol).Value = _
                    myRow & "行" & myCol & "列目"
            Next myCol
        Next myRow
    End Sub
    
    ⇒ サンプルマクロ集 へ

    <実行結果> sample6_1の実行結果
  • インデックスによりセルを指定して値(Value プロパティ)を編集する例
  • 下線部分で予め範囲指定したレンジに対して、1セルずつインデックスでアクセスする例です。 .Count で範囲指定したレンジ内のセル数を取得できます。
    Sub sample6_2()
        Dim Index   As Integer
    
        With Range("B3:F4")
            For Index = 1 To .Count
                .Cells(Index).Value = Index
            Next Index
        End With
    End Sub
    
    ⇒ サンプルマクロ集 へ

    <実行結果> sample6_2の実行結果

Range

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

Range("[アドレス]")

または

Range("[アドレス], [アドレス],")

または

Range("[アドレス][アドレス],")

または

Range([セル1], [セル2])
※[セル1]、[セル2]はCellsとRangeのどちらを使用してもよいです。

  • アドレスによって複数のセルを指定し、フォントおよび背景色のプロパティを設定する例
  • ※シートの指定を省略してあるため、マクロ実行時点で最前面に表示されているシートが処理の対象となります。
    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
    

    <実行結果> sample6_3の実行結果
  • セルによって範囲を指定し、フォントおよび背景色のプロパティを設定する例
  • 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
    

    <実行結果> sample6_4の実行結果
カテゴリ内ページ



Page
Top