在VBA中,我将结果标记在一定范围内,并根据单元格值(例如,值<“ 28”)将它们涂成绿色。每张纸(总共四张)对应于一个不同的标记,并根据一个值标记为绿色。所有工作表都具有相同的X和Y轴,工作范围在工作表之间相同(B2:BJ26)。我想制作第五张纸,如果其他纸上的所有其他四个对应的单元格都被涂成绿色,则将相应的单元格涂成绿色。
我可以逐个单元地做这个。...
简化示例
If Sheets(A) "B2" value < 30 AND Sheets(B) "B2" Value > 1.1 AND Sheets(C) "B2" Value < 1500 AND Sheets(D) "B2" Value > 0.30 THEN Sheets(E) "B2" interior.color = RGB(0,255,0)
但是对于B2:BJ26范围内的所有单元格必须有一种更有效的方法。更熟练的人,请帮助我。
我用来对前四张纸上的颜色进行标记/标记的工作代码示例。
Worksheets("Sheet 1").Activate
Dim XXXXXXX As Range, cell As Range
Set XXXXXXX = Range("B2:BJ26")
For Each cell In XXXXXXX
If cell.Value < "28" And cell.Value > "1" Then
cell.Interior.Color = RGB(0, 255, 0)
End If
Next
答案 0 :(得分:1)
这段代码为我完成了工作。让我知道它是否为您带来了预期的结果。
Option Explicit
Sub ColorSheetFive()
Dim i As Integer
Dim m As Integer
Dim n As Integer
Dim allGreen As Boolean
For m = 2 To 26
For n = 2 To 62
allGreen = True
For i = 1 To 4
If Sheets(i).Cells(m, n).Interior.Color <> RGB(0, 255, 0) Then
allGreen = False
End If
Next i
If allGreen Then
Sheets(5).Cells(m, n).Interior.Color = RGB(0, 255, 0)
End If
Next n
Next m
MsgBox "Color checking complete!"
End Sub