【发布时间】:2011-07-31 22:17:31
【问题描述】:
我是 excel vba 的新手,我需要这方面的帮助。
我在工作表(“数字”)中有一个范围(A2:A22),该范围已被有条件地格式化(底部 30%)以具有颜色的背景填充(ThemeColor = xlThemeColorDark1)。
在我的专栏中,有满足格式条件并具有背景填充颜色的单元格。其他人没有空位。
在我尝试构建的宏上,我想计算范围内未使用填充格式化的单元格的数量。
我在单元格 B2 中显示了计数,但它返回 0。
Dim numberRange As Range, r As Long, count As Integer
Set numberRange = Worksheets("Numbers").Range("A2:A22")
count = 0
For r = 1 To numberRange.Rows.Count
If Not numberRange(r, 1).FormatConditions(1).Interior.ThemeColor = _
xlThemeColorDark1 Then count = count + 1
Next r
Worksheets("Numbers").Range("B2").Value = count
我在各个论坛上都看过,也许我没有看到明显的内容。请帮忙。谢谢!
【问题讨论】:
-
双重检查:它是否必须计算不是因为条件格式而特别是 ThemeColor = xlThemeColorDark1 的单元格,还是只能计算不是 ThemeColor = xlThemeColorDark1 的单元格?换句话说,是否可以安全地假设它是 Dark1,是因为条件格式?
-
为什么不使用与定义条件格式相同的标准?
-
Excelllll,我采取了与您在下面的回答中所想的相同的方法。我想出了一种方法让 VBA 函数从条件格式中读取标准并复制检查。这是我能想到的最好的方法。 :)
-
Issun,由于条件格式,它必须计算那些不是特别颜色的单元格。
-
在下面查看我的答案,它应该可以工作。
标签: vba excel excel-2007