初始化N个类对象; VBA

在Excel VBA中工作,我试图初始化类“CUserType”的几个对象的数组,但我有一些麻烦。 我试着在循环中这样做:

For count = 1 To size Dim myArray(count) As CUserType Next 

但是,看起来VBA希望数组索引是一个常量整数。

现在我试图用一个单独的函数来做到这一点:

 Sub ititUsers(num As Integer) Dim myArray() As CUserType Redim myArray(1 to num) If num = 1 Then Dim myArray(1) As CUserType ElseIf num = 2 Then Dim myArray(1) As New CUserType Dim myArray(2) As New CUserType ElseIf num = 3 Then Dim myArray(1) As New CUserType Dim myArray(2) As New CUserType Dim myArray(3) As New CUserType . . . End Sub 

但是,这当然既枯燥又浪费。 我是新来的,所以我知道我可能错过了一些东西。 任何帮助?

谢谢!

您的行Dim myArray(count) As CUserType已经将数组的所有元素设置为CUserType。 如果你只需要初始化它,然后做一个For循环:

 Sub ititUsers(num As Integer) Dim i As Long Dim myArray() As CUserType Redim myArray(1 to num) For i = 1 to num Set myArray(i) = New CUserType Next i End Sub