我正在使用Microsof Excel工作簿编写VBA。我创建了一个带有5个CommandButtons的表单,我试图将这些CommandButtons分配给我创建的CommandButtons数组。我尝试通过将数组作为参数设置为函数来进行此赋值,并在Workbook_Open事件中调用此函数,如下所示:
Dim Buttons(5) As CommandButton
Public Function InitializeButtons(ButtonArray() As CommandButton)
ButtonArray(0) = TableForm.CommandButton1
ButtonArray(1) = TableForm.CommandButton2
ButtonArray(2) = TableForm.CommandButton3
ButtonArray(3) = TableForm.CommandButton4
ButtonArray(4) = TableForm.CommandButton5
End Function
Private Sub Workbook_Open()
void = InitializeButtons(Buttons)
End Sub
问题在于,由于某些原因,此分配从不播放,因为我收到以下错误消息:
运行时错误' 91': 对象变量或未设置块变量。
如果您对如何解决此问题有任何想法或建议,请告诉我。
先谢谢你。
答案 0 :(得分:2)
分配对象变量时需要使用Set
Set ButtonArray(0) = TableForm.CommandButton1