VBA类成员函数fReadData3返回结果与fReadData/fReadData2一致的原因问询
VBA类成员函数fReadData3返回结果与fReadData/fReadData2一致的原因问询
各位大佬好!之前我请教过关于VBA里fReadData和fReadData2这两个成员函数的问题,现在我又遇到新的困惑啦,想请大家帮忙解答~
先回顾下之前的两个函数代码:
Public Function fReadData(alue As Range) As Double pOne = alue.Cells(1) fReadData = pOne End Function Public Function fReadData2(alue As Range) As ClassOne Set fReadData2 = New ClassOne pOne = alue.Cells(1) fReadData2.One = pOne End Function
目前这两个版本都能正常工作,输出结果都没问题。但我现在搞不懂的是,下面这个fReadData3为什么总是和fReadData或者fReadData2返回一样的结果?它和fReadData2相比,只是多了一个中间变量foo而已啊!
fReadData3的代码如下:
Public Function fReadData3(alue As Range) As ClassOne Set fReadData3 = New ClassOne Dim foo As Double foo = alue.Cells(1) fReadData3.One = foo End Function
我做了一些测试,在Excel单元格中分别调用这三个函数后,得到的结果完全一致,这让我十分疑惑——明明fReadData3多了一步将单元格值赋值给中间变量foo的操作,为什么最终返回的结果和另外两个函数没有区别呢?
备注:内容来源于stack exchange,提问作者Petri Lahtinen
相关产品推荐
相关产品推荐

