【发布时间】:2013-12-11 18:05:02
【问题描述】:
如何设置另一个自定义对象内部的自定义对象数组?像下面这样:
这是合法的类:
'Class Licit
Private LObj() As Obj
Sub RedimObj(index As Integer)
ReDim Preserve LObj(index)
End Sub
Public Property Let SetObjConlicit(ByVal index As Integer, ByVal ObjConlicit As Double)
LObj(index).ObConlicita = ObjConlicit
End Property
Public Property Get GetObjConlicit(index As Integer) As Double
GetObjConlicit = LObj(index).ObConlicita
End Property
这是 Class Obj(尚未创建 set/let 属性):
'Class Obj
Public ObConlicita As Double
Public Obgrupo As Integer
Public ObitemNum As Integer
Public Obdescr As String
Public ObvalMax As Double
Public Obobs As String
这是我的日常调用:
Public Licita As Licit
sub run()
Set Licita = New Licit
NumObjetos = 3
Licita.RedimObj (NumObjetos)
For i = 0 To NumObjetos - 1
Licita.SetObjConlicit(i) = i
Next i
end sub
但是我在这一行得到一个错误 LObj(index).ObConlicita = ObjConlicit 尝试设置值时。
我得到的错误是:
'运行时错误 91 未设置对象变量或 With Block 变量'
任何人都可以帮助我做错了什么?
谢谢!
【问题讨论】:
-
这是什么语言,VB.net?
-
VBA for Excel。抱歉,我以为我在 VBA 主题中。
-
np,我给它加了一个标签。
标签: arrays class object excel vba