我正在尝试创建一个 if 语句来检查 B 列的颜色。
如果我定位 B 列中的单个单元格,而不是尝试(“B:B”),则它会起作用。
这就是我所拥有的。
Sub FOO()
Dim answer As Range
Set answer = Range("b:b")
If answer.Interior.Color = vbRed Then
MsgBox ("There is an issue with column B, please review.")
End If
End Sub
最佳答案
由于我们获得了许多高质量的答案,因此这里是最优化的代码。我打赌最快:)
如果您使用的是旧版本的 Excel 之一,它将无法工作。 2007 年以上的任何内容都可以。
Sub OptimizedFOO()
Dim rngTemp
With Application.FindFormat.Interior
.Color = vbRed
End With
'/ Sheet1 is example sheet name
Set rngTemp = Sheet1.Columns(2).Find(What:="", SearchFormat:=True)
If Not rngTemp Is Nothing Then
MsgBox ("There is an issue with column B, please review.")
End If
End Sub
旧答案
Sub FOO()
Dim answer As Range
Dim cell As Range
'/ This will show message if at least one cell is found with red color
Set answer = Range("b:b")
For Each cell In answer.Cells
If answer.Interior.Color = vbRed Then
MsgBox ("There is an issue with column B, please review.")
Exit For
End If
Next
End Sub
关于excel - 检查整列的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41766490/