CELLSで範囲指定する
開始セルと終了セルの確認
下の製品一覧表を使用します。
一覧表全体を範囲指定したい場合、通常1が開始セルで2が終了セルになります。
1の開始セルをCELLSで選択するVBA
使い方は、CELLS(行番号、列番号)なので1のセルはCELLS(4,2)になります。
Sub MyCells()
Cells(4, 2).Select
End Sub
2の終了セルをCELLSで選択するVBA
同じく、CELLS(行番号、列番号)なので2のセルはCELLS(15,4)になります。
Sub MyCells()
Cells(15, 4).Select
End Sub
RANGEとCELLSの組み合わせ
RANGEとCELLSの組み合わせて範囲指定するVBA
CELLSで開始セルと終了セルを指定します。
これは、RANGE("B4","D15")と同じです。
Sub MyCells()
Range(Cells(4, 2), Cells(15, 4)).Select
End Sub
実行結果のシートです。
文字列の代入と書式設定
範囲指定したセルに文字列の代入
選択しているセルを参照するにはSelectionプロパティを使用します。
選択しているセルに文字列を代入するVBA
文字列の代入はValueプロパティを使用します。
Sub MyCells()
Range(Cells(4, 2), Cells(15, 4)).Select
Selection.Value = "春の日"
End Sub
実行結果です。
表全体に文字列が代入できました。
範囲指定したセルに書式設定を行う
ここでは背景色を設定します。
・背景色は、Interior.Colorを使用します。
・背景色の色はRGB関数を使用しました。
・使い方は、RGB(赤,緑,青)なのでここでは赤色になります。
Sub MyCells()
Range(Cells(4, 2), Cells(15, 4)).Select
Selection.Value = "春の日"
Selection.Interior.Color = RGB(255, 0, 0)
End Sub
実行結果のシートです。
CELLSを変数で使用したサンプル
変数で行番号と列番号を指定するVBA
・変数iは行番号、変数jは列番号を指定しています。
・ループで1つのセル毎に設定しているので、下のようにIF関数などで細かな操作が可能になります。
Sub MyCellsH()
Dim i As Long
Dim j As Long
For i = 4 To 15
For j = 2 To 4
Cells(i, j).Select
Selection.Value = "春の日"
If i <> 8 Then
Selection.Interior.Color = RGB(255, 0, 0)
End If
Next
Next
End Sub
IF関数で8行目のみ背景色を付けないようにしました。