Excel 属性Precedents.Count
在单元格公式中返回的值与在直接窗口中调用相同函数时显示的值不同。
请参阅下面的功能和测试代码。
Function CountPrecedents()
CountPrecedents = Range("A1").Precedents.Count
End Function
Sub TestCountPrecedents()
Range("A1").Formula = "=B1+B2"
Range("C1").Formula = "=CountPrecedents()"
Debug.Print "The cell value is " & Range("C1").Value
Debug.Print "The true function value is " & CountPrecedents()
End Sub
TestCountPrecedents
在立即窗口中运行将产生以下输出:
The cell value is 1
The true function value is 2
为什么单元格函数的值与直接窗口的值不同?我无法使用其他Range
属性复制此行为。
答案1
这是在基于单元格的中使用此属性的限制UDF()
。
如果从子程序内部调用,相同的 UDF 将正常运行:
Sub MAIN()
MsgBox CountPrecedents()
End Sub