我正在尝试制定更新特定工作表的标准化流程。除了我给他们的功能之外,我不想要用户控制。为此,我锁定了工作表,然后使用某些宏加载了表单。一种表单旨在从工作表中删除数据。它在编写和测试时运行良好,但我尝试更新它,以便如果您打开它而没有任何相关数据要删除,它会弹出一个对话框,然后使用卸载我来关闭表单。这会关闭表单,但 excel 会引发错误:
运行时错误“91”:未设置对象变量或块变量
该表单是从只有一行的模块加载的:
MyForm.Show
Run Code Online (Sandbox Code Playgroud)
这就是 excel 抛出错误的地方。在表单初始化时,组合框会根据工作表中的数据填充值。如果加载后组合框为空,则表单应该抛出对话框然后关闭。
If ComboBox.ListCount = 0 Then
MsgBox "No Data"
Unload Me
End If
Run Code Online (Sandbox Code Playgroud)
如何在不从模块中抛出错误的情况下执行负载检查?
这实际上并没有回答你的问题。但我的建议是在实际加载表单之前检查模块代码。就像是:
Sub LoadForm()
If Sheets("Sheet1").Range("A1") = "" Then '<~~ your condition here
MsgBox "No Data"
Else
MyForm.Show
End If
End Sub
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4719 次 |
最近记录: |