「複数条件で色分け」と「文字列パターン判定(Like)」の VBA 実務テンプレートをまとめました。
複数条件で色分け版
Sub RangeToArray_MultiConditionColoring()
Dim ws As Worksheet
Dim rng As Range
Dim arr As Variant
Dim i As Long, j As Long
Set ws = ThisWorkbook.Sheets("Sheet1")
Set rng = ws.Range("A1:C1000")
' Range → 配列
arr = rng.Value
' 加工処理(複数条件)
For i = LBound(arr, 1) To UBound(arr, 1)
For j = LBound(arr, 2) To UBound(arr, 2)
If IsNumeric(arr(i, j)) Then
Select Case arr(i, j)
Case Is < 50
rng.Cells(i, j).Interior.Color = vbYellow ' 50未満 → 黄色
Case 50 To 99
rng.Cells(i, j).Interior.Color = vbGreen ' 50〜99 → 緑
Case Is >= 100
rng.Cells(i, j).Interior.Color = vbRed ' 100以上 → 赤
End Select
End If
Next j
Next i
' 書戻し
rng.Value = arr
End Sub
VB文字列パターン判定(Like)版
Sub RangeToArray_StringPatternLike()
Dim ws As Worksheet
Dim rng As Range
Dim arr As Variant
Dim i As Long, j As Long
Set ws = ThisWorkbook.Sheets("Sheet1")
Set rng = ws.Range("A1:C1000")
' Range → 配列
arr = rng.Value
' 加工処理(文字列パターン判定)
For i = LBound(arr, 1) To UBound(arr, 1)
For j = LBound(arr, 2) To UBound(arr, 2)
If VarType(arr(i, j)) = vbString Then
' 例:文字列が "ABC" で始まる場合
If arr(i, j) Like "ABC*" Then
rng.Cells(i, j).Font.Color = vbBlue
End If
' 例:文字列が "XYZ" を含む場合
If arr(i, j) Like "*XYZ*" Then
rng.Cells(i, j).Font.Bold = True
End If
End If
Next j
Next i
' 書戻し
rng.Value = arr
End Sub
VB実務での活用例
- 複数条件色分け → 売上や点数の閾値ごとに色分けして可視化
- 文字列パターン判定 → コードやIDのプレフィックス判定、特定キーワードを含むセルの強調
👉 このテンプレを組み合わせれば、
「数値は閾値で色分け」「文字列はパターンで強調」など データクレンジング+可視化 を一気に処理できます。
