首页 > 解决方案 > VBA - UDF 结果显示不正确

问题描述

我正在尝试在 VBA 中创建一个用户定义的函数,该函数计算给定范围内的单元格数量,这些单元格将某些填充颜色作为条件格式的一部分应用。

正如我设计的那样,这个函数需要两个参数:1)如果单元格具有某种填充颜色,则要计算它们的范围,以及 2)应用了所需填充颜色的单元格。

当我检查函数参数框中的结果预览 (Shift+F3) 时,以下函数似乎工作正常,当我 F9 单元格中的公式时,但当我在工作表中输入单元格并按 Enter 时(在此在这种情况下,它似乎只是在计算范围内的单元格数量,而不检查它是否有效地具有足够的填充颜色)。

Function CountCcolor(Cells As Range, Color As Range)

Application.Volatile True

Dim Rng As Range

On Error Resume Next

For Each Rng In Cells
    If Rng.DisplayFormat.Interior.Color = Color.DisplayFormat.Interior.Color Then
    CountCcolor = CountCcolor + 1
    End If
Next

End Function

关于可能导致这种奇怪行为的任何想法?

希望我已经说清楚了,并提前感谢您的帮助。

标签: excelvbaexcel-formulauser-defined-functions

解决方案


推荐阅读