excel - 错误处理不适用于 excel-vba 中的运行时错误 9
问题描述
我想在 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
任何建议都会有所帮助...
解决方案
检查您在 VB 编辑器中的设置(工具 >> 选项 >> 常规选项卡 >> 错误捕获)以了解如何处理错误 - 如果您选择了“中断所有错误”,那么无论您设置的任何错误处理如何,它都会中断. “Break in Class 模块”是一个不错的选择。
推荐阅读
- python - 如何在知道一些输入和输出的情况下找出密码
- firebase - 来自具有特定用户 ID(Flutter)的 Firebase 实时数据库的随机查询
- javascript - ReactJS - 嵌套组件道具为空
- r - 根据特定列检测两个数据帧中的不匹配
- vue.js - 当我在 appbar 中放置徽章时 i18n 出错
- java - 缺少资源 ID android.content.res.Resources$NotFoundException:字符串资源 ID #0xb
- wikipedia-api - 如何将 Freebase Easy 数据集作为一个结构化文件获取?
- javascript - 如何在 VSCode 中显示自定义 API 的悬停文档?
- acumatica - 如何解释现有记录中的空 NoteID 字段
- javascript - 在本地网络上测试时使用 geolocation.getCurrentPosition