Arrays 无法将自定义类添加到数组中

Arrays 无法将自定义类添加到数组中,arrays,vba,class,Arrays,Vba,Class,我有一个名为PLAYER的自定义类,它具有以下属性和关联的getter和setter以及defaultinit Private aName As String Private aAge As Integer Private aID As String Private aScore As Integer 我现在尝试在主程序中创建一个数组,如下所示: Dim Players As Range Set Players = Range("PLAYERS") Dim Pla

我有一个名为PLAYER的自定义类,它具有以下属性和关联的getter和setter以及defaultinit

Private aName As String
Private aAge As Integer
Private aID As String
Private aScore As Integer

我现在尝试在主程序中创建一个数组,如下所示:


    Dim Players As Range
    Set Players = Range("PLAYERS")

    Dim PlayerRows As Integer, PlayerCols As Integer, count As Integer

    PlayerRows = Players.Rows.count

    Dim allPlayers() As PLAYER
    ReDim allPlayers(5)

    Dim temp As New PLAYER
    temp.name = Players.Cells(count + 1, 1)
    temp.age = Players.Cells(count + 1, 2)
    temp.ID = Players.Cells(count + 1, 3)
    temp.score = Players.Cells(count + 1, 4)

    allPlayers(0) = temp

但当我尝试将新对象添加到播放器对象数组时,我得到一个运行时错误91“object variable or With Block variable not set”


如何设置此阵列错误?我正在尝试为类播放器创建一个数组。

处理对象时,必须使用“Set”关键字:

Set allPlayers(0) = temp

感谢您的快速反馈。还有一个快速点,如果我要这样做并尝试将玩家添加到列表中,它看起来会将最后一个玩家添加到列表中的偶数索引中:`do While(endLoop=False)Dim temp As New player temp.name=player.Cells(count+1,1)if((count+1)=PlayerRows)然后endLoop=True End如果设置所有玩家(计数)=临时计数=计数+1个循环••••ˇˇˇ发布新问题