我在 excel vba 项目中有一组对象。我创建了同一个类的另一个实例并设置了它的 1 个属性。然后,我尝试在对象数组中进行搜索,以在数组中找到与同一属性上的当前对象匹配的对象。我想使用自引用 Me 将当前对象设置为当前对象方法之一内的数组中的对象。
我试过:
Set Me = objectArray(index)
这不起作用。它说这是对 Me 关键字的不当使用。有没有办法将当前对象设置为另一个相同类型的对象?谢谢!
编辑:
我有一个具有子对象的对象:
Me.friShift.shiftType.loadFromArray
这里的 shiftType 是 CVocabulary 类型的对象,也就是我自己定义的类。它有一个名为 loadFromArray 的子程序,如下所示:
Public Sub loadFromArray()
Dim index As Integer
index = searchVocabArray(Me.typed)
If (index = -1) Then
Exit Sub
End If
Set Me = vocabArray(index)
End Sub
vocabArray() 是一个包含 Cvocabulary 对象的全局数组。
如果无法从自身内部设置对象,我可以尝试其他方法。这只是最简单和最直接的方法。我确定我可以将当前对象的每个参数设置为数组中对象的参数值,但如果可以执行上述操作,那将是我的首选方法。