Vba Can';当userform1代码正在运行时,请不要打开userform2

Vba Can';当userform1代码正在运行时,请不要打开userform2,vba,runtime-error,userform,Vba,Runtime Error,Userform,我正在尝试向现有代码中添加一些东西,以进一步实现自动化。 我有一个userform1和一些代码。如果在运行代码时发生某个事件,我需要打开一个新的userform2,用户必须在其中使用一些复选框来更改userform1使用的工作表上的一些值。用户完成后,我希望他们关闭userform2,代码继续运行(userform1暂停/隐藏?)。 但我无法打开userform2。它以突出显示的方式显示运行时错误13 userform2.show 我已经尝试将这两个用户窗体都设置为无模式。 我试过了

我正在尝试向现有代码中添加一些东西,以进一步实现自动化。 我有一个userform1和一些代码。如果在运行代码时发生某个事件,我需要打开一个新的userform2,用户必须在其中使用一些复选框来更改userform1使用的工作表上的一些值。用户完成后,我希望他们关闭userform2,代码继续运行(userform1暂停/隐藏?)。 但我无法打开userform2。它以突出显示的方式显示运行时错误13

    userform2.show 
我已经尝试将这两个用户窗体都设置为无模式。 我试过了

me.hide 
在打开userform2之前

是否有一种方法可以打开userform2并在关闭它后继续代码,或者我需要找到另一种方法

调用userform1的代码:

Button on Excel Sheet_click()
with combobox1
.additem XX
.
.
end with

with combobox2
.additem XX
.
.
end with

with combobox2
.additem XX
.
.
end with

userform1.show
end sub
部分调用userform2(或不调用)的代码:

初始化userform2的事件:

Private Sub UserForm2_Initialize()
Dim DBB As Worksheet
Set DBB = ThisWorkbook.Sheets("BB")
With userform2
    .labelfield1.Caption = DBB.Range("D5")
    .
    .

    .labelfield2.Caption = DBB.Range("D5") - DBB.Range("D10")
    .
    .

End With

End Sub

你能在你的问题中添加你如何加载/显示
userform1
的代码和
userform2.show
之前和之后的代码吗?@Hel O'Ween done.你在
userform2.show
一行得到一个a吗?Userform2的初始化事件是什么?为了停止Userform2中的错误,请更改设置以在类模块中中断,请查看@Storax:Gotcha!错误出现在labelfield2.caption行中,因为其中只有一部分已填充!我可能需要构建一些代码来检查工作表上的填充单元格和隐藏空标签字段。谢谢
Private Sub UserForm2_Initialize()
Dim DBB As Worksheet
Set DBB = ThisWorkbook.Sheets("BB")
With userform2
    .labelfield1.Caption = DBB.Range("D5")
    .
    .

    .labelfield2.Caption = DBB.Range("D5") - DBB.Range("D10")
    .
    .

End With

End Sub