私のExcelファイルには、数式を含むテーブルが設定されています。
Range("B2:B12")、Range ("D2:D12") などの Cells で、これらの数式の答えを含む 1 行おきに。
これらのセル (数式の回答を含む) には、条件付き書式を適用する必要がありますが、7 つの条件があるため、VBA で「大文字と小文字を選択」を使用して、番号に基づいて内部の背景を変更しています。独自のマクロではなく、シートコード内に現在設定されているケース選択機能があります
Private Sub Worksheet_Change(ByVal Target As Range)
Dim iColor As Integer
If Not Intersect(Target, Range("B2:L12")) Is Nothing Then
Select Case Target
Case 0
iColor = 2
Case 0.01 To 0.49
iColor = 36
Case 0.5 To 0.99
iColor = 6
Case 1 To 1.99
iColor = 44
Case 2 To 2.49
iColor = 45
Case 2.5 To 2.99
iColor = 46
Case 3 To 5
iColor = 3
End Select
Target.Interior.ColorIndex = iColor
End If
End Sub
ただし、この方法を使用すると、書式設定が機能するために実際にセルに値を入力する必要があります。
これが、これをマクロとして行うためのサブルーチンを書きたい理由です。データを入力し、数式を機能させ、すべての準備が整ったら、マクロを実行して特定のセルをフォーマットします。
これを行う簡単な方法が必要です。明らかに、すべてのセルのすべてのケースを入力して時間を浪費する可能性がありますが、ループを使用すると簡単になると考えました。
特定の範囲のセルのフォーマットを 1 行おきに変更するには、select case ループをどのように作成すればよいでしょうか。
前もって感謝します。