【发布时间】:2013-01-03 15:06:30
【问题描述】:
以下 VBA 函数计算给定范围内包含公式的单元格的数量。从 VBA 子调用时,它可以正常工作。从 Excel 调用时,它返回区域中的单元格总数。
来自 Excel 的调用是 =CountFormulas(A1:C7),即使范围内只有两个带有公式的单元格,它也会返回 21。
造成这种差异的原因是什么?
Public Function CountFormulas(ByRef rng As Range) As Long
CountFormulas = rng.SpecialCells(xlCellTypeFormulas).Count
End Function
Public Sub CountFormulasFromSub()
Dim rng As Range
Dim res As Integer
Set rng = Sheet1.Range("a1:c7")
res = CountFormulas(rng)
End Sub
【问题讨论】: