【发布时间】:2019-01-23 18:54:48
【问题描述】:
我想在 Excel VBA 中应用错误处理机制,我想捕捉这个“运行时错误 9”,但它不起作用。
我一遍又一遍地使用这个 userform_initialize() 方法/子,每次我不想打开这个“SAMPLE UPDATE FILE.xlsm”工作簿时,我想检查它是否已经打开。如果是,则切换到该窗口或打开该工作簿。
我也尝试过on error resume next 语句,但它仍然在切换到窗口"Windows("SAMPLE UPDATE FILE.xlsm "). Select" 时中断
Private Sub UserForm_Initialize()
Application.DisplayAlerts = False
On Error GoTo OPEN_WB_ERR
Windows("SAMPLE UPDATE FILE.xlsm").Select
UserForm1.ComboBox1.RowSource = ("'X:\SAMPLE UPDATE FILE.xlsm'!SEARCH")
Windows("PROFORMA_INVOICE.xlsm").Activate
On Error GoTo 0
Exit Sub
OPEN_WB_ERR:
Workbooks.Open Filename:="X:\SAMPLE UPDATE FILE.xlsm"
UserForm1.ComboBox1.RowSource = ("'X:\SAMPLE UPDATE FILE.xlsm'!SEARCH")
Windows("PROFORMA_INVOICE.xlsm").Activate
Resume Next
End Sub
任何建议都会有所帮助...
【问题讨论】:
-
"Workbooks.Open" 将选择已经打开的文件,或者打开一个新文件。