「セル操作の応用」を掘り下げてみましょう。基礎の .Value や .Formula から一歩進んで、複数セルをまとめて扱う・条件付きで操作する・ループで自動処理する といった実践的なテクニックを紹介します。
1. 複数セルをまとめて操作
セル範囲を一度に扱うと効率的です。
Sub FillRange()
' A1~A10に1~10を入力
Dim i As Integer
For i = 1 To 10
Range("A" & i).Value = i
Next i
' B1~B10を一括で黄色に
Range("B1:B10").Interior.Color = RGB(255, 255, 0)
End Sub
VB👉 ポイント
Range("A" & i)のように文字列結合でセルを動的に指定- 範囲指定すれば一括で色や書式を設定できる
2. 条件付きでセルを操作
セルの値をチェックして処理を分けることも可能です。
Sub ConditionalFormat()
Dim i As Integer
For i = 1 To 10
If Range("A" & i).Value >= 50 Then
Range("A" & i).Interior.Color = RGB(144, 238, 144) ' 緑
Else
Range("A" & i).Interior.Color = RGB(255, 182, 193) ' ピンク
End If
Next i
End Sub
VB👉 ポイント
If ~ Thenで条件分岐- 値に応じて色分け → 簡易的な「条件付き書式」をVBAで実現
3. ループで表全体を処理
「データが何行あるかわからない」場合に便利です。
Sub LoopUntilEmpty()
Dim i As Long
i = 1
Do While Range("C" & i).Value <> ""
Range("D" & i).Value = Range("C" & i).Value * 1.1 ' 10%増し
i = i + 1
Loop
End Sub
VB👉 ポイント
Do Whileで「空セルに当たるまで」繰り返す- 実務でよくある「データ件数が毎回違う」ケースに対応
4. 数式や集計を自動で入れる
セルに直接数式を入れて、計算を自動化できます。
Sub InsertFormula()
' E列に合計を入れる
Range("E1").Formula = "=SUM(A1:D1)"
Range("E1").Font.Bold = True
Range("E1").NumberFormat = "#,##0"
End Sub
VB👉 ポイント
.FormulaでExcelの数式をそのまま入力可能.NumberFormatで表示形式を整える
🖌 5. 書式を一括で整える
見やすい表を自動で作るのも応用のひとつ。
Sub FormatTable()
With Range("A1:D10")
.Font.Name = "Meiryo"
.Font.Size = 11
.Borders.LineStyle = xlContinuous
.Interior.Color = RGB(240, 248, 255) ' 薄い水色
End With
End Sub
VB👉 ポイント
With ~ End Withで同じ範囲に複数設定- 枠線や背景色をまとめて指定
まとめ
セル操作の応用では次の3つがカギです:
- ループ(For / Do While)で複数セルを処理
- 条件分岐(If)で値に応じた操作
- 書式や数式を組み合わせて「見やすく・便利に」
次のステップとしては、
- 「シート全体を対象にセル操作をする」(全シートに同じ処理)
- 「ユーザー入力を使ってセルを操作する」(InputBoxでセル範囲を指定)
このあたりをやると一気に実務レベルに近づきます。
