You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.15 12:39:32