我认为我在这里误解了一些简单的东西,就像往常一样,我尚未学习的一些基本原理。
无论如何,我试图设置一个组合框,以便从活动工作簿中进行选择,并将工作簿名称传递给变量以供将来的代码使用。
但是,我只能通过将所述变量类型设置为Variant才能使它起作用,并且在代码执行完后,我仍然会收到错误消息……那么那里发生了什么?
Private Sub cmdPopulate_Click()
If cmbWorkbooks.Value <> "" Then
selectedWorkbook = cmbWorkbooks.Value
Call populateChecklist
End If
Unload Me
End Sub
Private Sub UserForm_Initialize()
For Each wb In Workbooks
cmbWorkbooks.AddItem wb.Name
Next wb
Me.Show
End Sub
Public wb As Workbook
Public ws As Worksheet
Public selectedWorkbook As Variant
Sub populateChecklist()
MsgBox "hello " & selectedWorkbook
End Sub
编辑:
为澄清我在完成执行时收到的错误: 运行时错误“ 91”: 未设置对象变量或With块变量
Edit2: 好吧,我想我已经知道了... 我逐级注释所有内容,直到找到罪魁祸首。
这似乎是由Me.Show在userform_Initialize子目录中引起的,无论如何这显然是多余的代码!