向 VBA 对象的数组添加值



我开始在 VBA 中使用类,我不明白为什么我不能在我创建的类的对象中向名为 SDA 的数组添加任何值。

类模块为:

'clsProject Class Module Code
Public LinhaProjeto As String
Public SDA As Variant

Public Sub Class_Initialize()
ReDim SDA(1 To 12)
Dim i As Integer
For i = 1 To 12
SDA(i) = 0
Next i
End Sub

常规模块中的子是

Sub test()
Dim oProject As clsProject
Set oProject = New clsProject
oProject.SDA(1) = 2
Debug.Print oProject.SDA(1)
End Sub

代码运行没有任何错误,但它没有像我想象的那样添加值。在称为"测试"的子结束时,oProject.SDA(1( 的值仍然是 0,而不是我想要的 2。

谁能帮我在这里找到我的错误?

感谢您的帮助!

请将此添加到您的类中:

Public Property Get ValSDA(Pos)
ValSDA = SDA(Pos)
End Property
Public Property Let ValSDA(Pos, Nilai)
SDA(Pos) = Nilai
End Property

并像这样更改您的子测试:

Sub test()
Dim oProject As clsProject
Set oProject = New clsProject
oProject.ValSDA(1) = 2
Debug.Print oProject.ValSDA(1)
End Sub

最新更新