小编Gra*_*son的帖子

我是否必须在VBA类对象中具有重复值?

我一直在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
Run Code Online (Sandbox Code Playgroud)

当我查看本地窗口中的对象时,我注意到对于每个属性,我最终得到了模块作用域变量和Let函数所需的变量.这对我来说似乎是一个变量的重复.我担心如果我将每个具有多个属性的大量对象实例化,那么在资源方面它可能是昂贵的.

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

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

编辑:

我刚刚看了一下我的本地窗口,并意识到属性let的参数不存在.这两个表达式似乎是私有存储的变量和proprty获取值,在本例中为msRegion和Region.这符合Cor_Blimey的回答.

excel vba class

5
推荐指数
1
解决办法
719
查看次数

标签 统计

class ×1

excel ×1

vba ×1