gpt4 book ai didi

excel - VBA 类对象中是否必须有重复值?

转载 作者:行者123 更新时间:2023-12-02 07:28:27 26 4
gpt4 key购买 nike

我在 Excel 中使用 VBA 类模块已经有一段时间了,但我不确定我是否正确创建了它们。我通常为类创建模块级变量,然后创建属性 let 和 get 函数。例如:

Private msRegion As String

Property Get Region() As String
Region = msRegion 'Return the Region
End Property

Property Let Region(ByVal sRegionName As String)
msRegion = sRegionName 'Set the Region
End Property

当我查看本地窗口中的对象时,我注意到对于每个属性,我最终都会得到模块作用域变量和 Let 函数所需的变量。对我来说,这似乎是变量的重复。我担心如果我建立一个大型对象集合,每个对象都有多个属性,那么资源成本可能会很高。

我尝试修改代码,以便对象类中只有一个变量,但到目前为止,我只收到错误消息。

有谁知道在类模块中创建属性而不会导致重复变量的方法吗?

编辑:

我刚刚再次查看了本地窗口,意识到 let 属性的参数不存在。这 2 个表达式似乎是私有(private)存储的变量和属性获取值,在本例中为 msRegion 和 Region。这与 Cor_Blimey 的答案相符。

最佳答案

您是否尝试在调用该类的代码中获取或设置 msRegion 属性?如果您这样做,您会发现它不可调用。

您正确地构建了类。

局部变量窗口显示所有声明的变量,包括类中的私有(private)变量。

关于excel - VBA 类对象中是否必须有重复值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18321263/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com