У меня код VBA написан для цветных ячеек на основе того, какое значение находится в другой ячейке. Можно ли сократить сокращение вниз? Я новичок в написании сценариев в VBA и надеялся, что если это можно сократить, я могу применить его к большему файлу.Excel, если утверждение сокращается?
Sub RoutingCheck()
Dim I As Long, r1 As Range, r2 As Range
For I = 2 To 456
Set r1 = Range("A" & I)
Set r2 = Range("B" & I)
If r1.Value = 94 And r2.Value = " " Then r1.Interior.Color = vbRed
If r1.Value = 94 And r2.Value = "" Then r1.Interior.Color = vbRed
If r1.Value = 94 And r2.Value = -99 Then r1.Interior.Color = vbRed
If r1.Value = 94 And r2.Value = -66 Then r1.Interior.Color = vbRed
If r1.Value = 94 And r2.Value = -77 Then r1.Interior.Color = vbRed
If r1.Value = 94 And r2.Value = " " Then r2.Interior.Color = vbRed
If r1.Value = 94 And r2.Value = "" Then r2.Interior.Color = vbRed
If r1.Value = 94 And r2.Value = -99 Then r2.Interior.Color = vbRed
If r1.Value = 94 And r2.Value = -66 Then r2.Interior.Color = vbRed
If r1.Value = 94 And r2.Value = -77 Then r2.Interior.Color = vbRed
If r1.Value = 94 And r2.Value <> "" And r2.Value <> -99 And r2.Value <> -66 And r2.Value <> -77 And r2.Value <> " " Then r1.Interior.Color = vbGreen
If r1.Value = 94 And r2.Value <> "" And r2.Value <> -99 And r2.Value <> -66 And r2.Value <> -77 And r2.Value <> " " Then r2.Interior.Color = vbGreen
If r1.Value = 1 And r2.Value = "" Then r1.Interior.Color = vbRed
If r1.Value = 1 And r2.Value = -66 Then r1.Interior.Color = vbRed
If r1.Value = 1 And r2.Value = 0 Then r1.Interior.Color = vbRed
If r1.Value = 1 And r2.Value = -77 Then r1.Interior.Color = vbRed
If r1.Value = 1 And r2.Value = "" Then r2.Interior.Color = vbRed
If r1.Value = 1 And r2.Value = -66 Then r2.Interior.Color = vbRed
If r1.Value = 1 And r2.Value = 0 Then r2.Interior.Color = vbRed
If r1.Value = 1 And r2.Value = -77 Then r2.Interior.Color = vbRed
If r1.Value = 1 And r2.Value <> "" And r2.Value <> -66 And r2.Value <> -77 And r2.Value <> 0 And r2.Value <> -99 Then r1.Interior.Color = vbRed
If r1.Value = 1 And r2.Value <> "" And r2.Value <> -66 And r2.Value <> -77 And r2.Value <> 0 And r2.Value <> -99 Then r2.Interior.Color = vbRed
If r1.Value = 1 And r2.Value = -99 Then r1.Interior.Color = vbGreen
If r1.Value = 1 And r2.Value = -99 Then r2.Interior.Color = vbGreen
If r1.Value = 2 And r2.Value = "" Then r1.Interior.Color = vbRed
If r1.Value = 2 And r2.Value = -66 Then r1.Interior.Color = vbRed
If r1.Value = 2 And r2.Value = 0 Then r1.Interior.Color = vbRed
If r1.Value = 2 And r2.Value = -77 Then r1.Interior.Color = vbRed
If r1.Value = 2 And r2.Value = "" Then r2.Interior.Color = vbRed
If r1.Value = 2 And r2.Value = -66 Then r2.Interior.Color = vbRed
If r1.Value = 2 And r2.Value = 0 Then r2.Interior.Color = vbRed
If r1.Value = 2 And r2.Value = -77 Then r2.Interior.Color = vbRed
If r1.Value = 2 And r2.Value <> "" And r2.Value <> -66 And r2.Value <> -77 And r2.Value <> 0 And r2.Value <> -99 Then r1.Interior.Color = vbRed
If r1.Value = 2 And r2.Value <> "" And r2.Value <> -66 And r2.Value <> -77 And r2.Value <> 0 And r2.Value <> -99 Then r2.Interior.Color = vbRed
If r1.Value = 2 And r2.Value = -99 Then r1.Interior.Color = vbGreen
If r1.Value = 2 And r2.Value = -99 Then r2.Interior.Color = vbGreen
If r1.Value = 3 And r2.Value = "" Then r1.Interior.Color = vbRed
If r1.Value = 3 And r2.Value = -66 Then r1.Interior.Color = vbRed
If r1.Value = 3 And r2.Value = 0 Then r1.Interior.Color = vbRed
If r1.Value = 3 And r2.Value = -77 Then r1.Interior.Color = vbRed
If r1.Value = 3 And r2.Value = "" Then r2.Interior.Color = vbRed
If r1.Value = 3 And r2.Value = -66 Then r2.Interior.Color = vbRed
If r1.Value = 3 And r2.Value = 0 Then r2.Interior.Color = vbRed
If r1.Value = 3 And r2.Value = -77 Then r2.Interior.Color = vbRed
If r1.Value = 3 And r2.Value <> "" And r2.Value <> -66 And r2.Value <> -77 And r2.Value <> 0 And r2.Value <> -99 Then r1.Interior.Color = vbRed
If r1.Value = 3 And r2.Value <> "" And r2.Value <> -66 And r2.Value <> -77 And r2.Value <> 0 And r2.Value <> -99 Then r2.Interior.Color = vbRed
If r1.Value = 3 And r2.Value = -99 Then r1.Interior.Color = vbGreen
If r1.Value = 3 And r2.Value = -99 Then r2.Interior.Color = vbGreen
If r1.Value = 4 And r2.Value = "" Then r1.Interior.Color = vbRed
If r1.Value = 4 And r2.Value = -66 Then r1.Interior.Color = vbRed
If r1.Value = 4 And r2.Value = 0 Then r1.Interior.Color = vbRed
If r1.Value = 4 And r2.Value = -77 Then r1.Interior.Color = vbRed
If r1.Value = 4 And r2.Value = "" Then r2.Interior.Color = vbRed
If r1.Value = 4 And r2.Value = -66 Then r2.Interior.Color = vbRed
If r1.Value = 4 And r2.Value = 0 Then r2.Interior.Color = vbRed
If r1.Value = 4 And r2.Value = -77 Then r2.Interior.Color = vbRed
If r1.Value = 4 And r2.Value <> "" And r2.Value <> -66 And r2.Value <> -77 And r2.Value <> 0 And r2.Value <> -99 Then r1.Interior.Color = vbRed
If r1.Value = 4 And r2.Value <> "" And r2.Value <> -66 And r2.Value <> -77 And r2.Value <> 0 And r2.Value <> -99 Then r2.Interior.Color = vbRed
If r1.Value = 4 And r2.Value = -99 Then r1.Interior.Color = vbGreen
If r1.Value = 4 And r2.Value = -99 Then r2.Interior.Color = vbGreen
If r1.Value = 5 And r2.Value = "" Then r1.Interior.Color = vbRed
If r1.Value = 5 And r2.Value = -66 Then r1.Interior.Color = vbRed
If r1.Value = 5 And r2.Value = 0 Then r1.Interior.Color = vbRed
If r1.Value = 5 And r2.Value = -77 Then r1.Interior.Color = vbRed
If r1.Value = 5 And r2.Value = "" Then r2.Interior.Color = vbRed
If r1.Value = 5 And r2.Value = -66 Then r2.Interior.Color = vbRed
If r1.Value = 5 And r2.Value = 0 Then r2.Interior.Color = vbRed
If r1.Value = 5 And r2.Value = -77 Then r2.Interior.Color = vbRed
If r1.Value = 5 And r2.Value <> "" And r2.Value <> -66 And r2.Value <> -77 And r2.Value <> 0 And r2.Value <> -99 Then r1.Interior.Color = vbRed
If r1.Value = 5 And r2.Value <> "" And r2.Value <> -66 And r2.Value <> -77 And r2.Value <> 0 And r2.Value <> -99 Then r2.Interior.Color = vbRed
If r1.Value = 5 And r2.Value = -99 Then r1.Interior.Color = vbGreen
If r1.Value = 5 And r2.Value = -99 Then r2.Interior.Color = vbGreen
If r1.Value = 6 And r2.Value = "" Then r1.Interior.Color = vbRed
If r1.Value = 6 And r2.Value = -66 Then r1.Interior.Color = vbRed
If r1.Value = 6 And r2.Value = 0 Then r1.Interior.Color = vbRed
If r1.Value = 6 And r2.Value = -77 Then r1.Interior.Color = vbRed
If r1.Value = 6 And r2.Value = "" Then r2.Interior.Color = vbRed
If r1.Value = 6 And r2.Value = -66 Then r2.Interior.Color = vbRed
If r1.Value = 6 And r2.Value = 0 Then r2.Interior.Color = vbRed
If r1.Value = 6 And r2.Value = -77 Then r2.Interior.Color = vbRed
If r1.Value = 6 And r2.Value <> "" And r2.Value <> -66 And r2.Value <> -77 And r2.Value <> 0 And r2.Value <> -99 Then r1.Interior.Color = vbRed
If r1.Value = 6 And r2.Value <> "" And r2.Value <> -66 And r2.Value <> -77 And r2.Value <> 0 And r2.Value <> -99 Then r2.Interior.Color = vbRed
If r1.Value = 6 And r2.Value = -99 Then r1.Interior.Color = vbGreen
If r1.Value = 6 And r2.Value = -99 Then r2.Interior.Color = vbGreen
If r1.Value = 7 And r2.Value = "" Then r1.Interior.Color = vbRed
If r1.Value = 7 And r2.Value = -66 Then r1.Interior.Color = vbRed
If r1.Value = 7 And r2.Value = 0 Then r1.Interior.Color = vbRed
If r1.Value = 7 And r2.Value = -77 Then r1.Interior.Color = vbRed
If r1.Value = 7 And r2.Value = "" Then r2.Interior.Color = vbRed
If r1.Value = 7 And r2.Value = -66 Then r2.Interior.Color = vbRed
If r1.Value = 7 And r2.Value = 0 Then r2.Interior.Color = vbRed
If r1.Value = 7 And r2.Value = -77 Then r2.Interior.Color = vbRed
If r1.Value = 7 And r2.Value <> "" And r2.Value <> -66 And r2.Value <> -77 And r2.Value <> 0 And r2.Value <> -99 Then r1.Interior.Color = vbRed
If r1.Value = 7 And r2.Value <> "" And r2.Value <> -66 And r2.Value <> -77 And r2.Value <> 0 And r2.Value <> -99 Then r2.Interior.Color = vbRed
If r1.Value = 7 And r2.Value = -99 Then r1.Interior.Color = vbGreen
If r1.Value = 7 And r2.Value = -99 Then r2.Interior.Color = vbGreen
Next I
'Error
End Sub
Есть, конечно, ярлыки, которые вы можете применить здесь. Вы можете изучить использование команды 'CASE' и изучить вложенность. – CLR