Excel VBA | 離れたセルをまとめて処理

VBA
スポンサーリンク

応用例をいくつか紹介します。条件付きで色を変える方法や、複数セルに違う数式を入れる方法を例題形式でまとめますね。


条件によってセルの色を変える

例えば「値が0以下なら赤色にする」処理です。

Sub 条件で色を変える()
    Dim c As Range
    For Each c In Range("A1, C2:D5")
        If IsNumeric(c.Value) Then
            If c.Value <= 0 Then
                c.Interior.Color = RGB(255, 200, 200) ' 薄い赤
            Else
                c.Interior.Color = RGB(200, 255, 200) ' 薄い緑
            End If
        End If
    Next c
End Sub
VB

👉 このように「If文」で条件を判定し、色を変えることができます。


複数セルに違う数式を入れる

「セルごとに違う数式を入れる」場合は、ループでセルごとに処理します。

例1: 行番号を使った数式

Sub 行番号ごとに数式を入れる()
    Dim c As Range
    For Each c In Range("B2:B6")
        c.Formula = "=A" & c.Row & "*2"
    Next c
End Sub
VB

👉 B列に「A列の値×2」という数式が、行ごとに自動で入ります。

例2: 列番号を使った数式

Sub 列番号ごとに数式を入れる()
    Dim c As Range
    For Each c In Range("C1:E1")
        c.Formula = "=ROW()*" & c.Column
    Next c
End Sub
VB

👉 C1~E1に「行番号×列番号」の数式が入ります。


応用のポイント

  • 条件付き色付けIf文で判定し、.Interior.Colorを変更
  • セルごとに違う数式For Eachでセルを回し、.Formulaに文字列を組み立てて代入
  • セルの位置情報c.Row(行番号)、c.Column(列番号)、c.Address(セル番地)を活用すると便利

練習課題

  1. 「負の数は赤、正の数は青」に色分けしてみる
  2. 「各セルにそのセルの番地を表示する」コードを書いてみる
  3. 「行番号に応じて違う計算式を入れる」コードを作ってみる

こうした応用を組み合わせると、条件付き書式や自動計算をVBAで自由に作れるようになります。

VBA
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました