运行时91变量未设置-在表单和模块之间共享变量

时间:2018-09-13 09:27:40

标签: excel vba excel-vba

我认为我在这里误解了一些简单的东西,就像往常一样,我尚未学习的一些基本原理。

无论如何,我试图设置一个组合框,以便从活动工作簿中进行选择,并将工作簿名称传递给变量以供将来的代码使用。

但是,我只能通过将所述变量类型设置为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子目录中引起的,无论如何这显然是多余的代码!

0 个答案:

没有答案