以上是全部代码,运行test的宏,实现:
只有在A1到A10全部底色为红色的时候,B1的值设置为5,否则B1不作任何更改(原先是什么就是什么)
Sub 如果底色全红B1为5()
For Each a In Range("A1:A10")
If a.Interior.Color <> vbRed Then
Range("B1").Value = ""
Exit Sub
End If
Next a
Range("B1").Value = 5
End Sub
Sub 如果字体全红B2为5()
For Each a In Range("A1:A10")
If a.Font.Color <> vbRed Then
Range("B1").Value = ""
Exit Sub
End If
Next a
Range("B1").Value = 5
End Sub
For Each a In Range("A1:A10")——搜索区域 Range("A1:A10")
a——为区域中某个单元格
a.Interior.Color——为单元格底色
a.Font.Color——为单元格字体颜色
vbRed——为常量“红色”
Range("B1").Value = ""——不为红色清空B1
Range("B1").Value = 5——全为红色赋值为5
Sub yanse()
For i = 1 To 10
a = Cells(i, 1).Interior.ColorIndex
If a <> 3 Then
Cells(1, 2) = 0
Exit Sub
End If
Next i
Cells(1, 2) = 5
End Sub
代码如上,如果a1-a10均为红色则b1值为5,如果不是则为0