我有一个函数可以根据字体的颜色对一个范围内的数字进行求和。如下所示。
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()
等。)
为什么我不能关闭工作簿?
感谢。