功能因关闭的工作簿而失败

时间:2017-10-13 15:52:50

标签: excel vba excel-vba

我有一个函数可以根据字体的颜色对一个范围内的数字进行求和。如下所示。

    Public Function SumByColor(pRange1 As Range, pRange2 As Range) As Double
    Application.Volatile
    Dim rng As Range
    Dim colorSumTot As Double
    colorSumTot = 0

    For Each rng In pRange1
        If rng.Font.Color = pRange2.Font.Color Then
            colorSumTot = colorSumTot + rng.Value
        End If
    Next
    SumByColor = colorSumTot

    End Function

这在我创建它的Excel工作簿中很有用。我可以在工作表中选择范围或同一工作簿中的其他工作表。

但是,如果我引用另一个工作簿,只要工作簿处于打开状态,它就能正常工作。关闭工作簿后,带有我的函数的单元格引用了另一个工作簿,给出了#VALUE!错误。如果我再次打开参考工作簿,则会返回数字。

我想我应该指出,即使引用的工作簿已关闭,excel函数也能正常工作。 (例如SUM()AVERAGE()等。)

为什么我不能关闭工作簿?

感谢。

0 个答案:

没有答案