Excel VBA:检查范围是否包含具有特定颜色的单元格

我有以下两个用户定义的函数:

Function GetFillColor(Rng As Range) As Long GetFillColor = Rng.Interior.ColorIndex End Function 

 Function ContainsColor(Rng As Range, Clr As Long) As Boolean ContainsColor = False For Each c In Rng If GetFillColor(c) = Clr Then ContainsColor = True Exit For End If Next End Function 

第二个函数调用像ContainsColor(A1:A5,35)时似乎不工作,我错过了什么? 谢谢。

不太确定为什么你有2个Functions ,你可以使用一个:

 Function ContainsColor(Rng As Range, Clr As Long) As Boolean Dim c As Range ContainsColor = False For Each c In Rng If c.Interior.ColorIndex = Clr Then ContainsColor = True Exit For End If Next End Function 

从Excel调用它(在这种情况下将导致为真,作为单元格A1 Interior.ColorIndex = 35):

在这里输入图像说明