【发布时间】:2022-01-19 21:20:55
【问题描述】:
我有一个用户窗体,其中当前有 15 个组合框。允许用户选择本季度、上季度和去年的 5 个报告。由于有很多可供选择的框,我认为最好应用一些错误处理以避免遗漏任何框。
我的代码是这样的(显然每个盒子都重复了):
If IsNull(UF_RM_Reports.Report1.Value) Then
MsgBoxResult = MsgBox("No report selected for Report 1 current quarter, is this correct?", vbYesNo + vbQuestion, "Report Template")
If MsgBoxResult = vbNo Then
End
Else
End If
End If
我遇到的问题是,如果用户意识到他们没有选择报告并按否,我已经结束,这不仅会结束宏,还会关闭组合框。如果您然后重新打开它,所有选择都消失了。有点挫败错误处理的意义,因为他们需要重新开始。
我想知道是否有什么可以更改 End 的内容,以停止代码但允许用户返回并选择丢失的报告。
提前致谢
【问题讨论】:
-
您想退出子,这会将过程返回到表单。
-
组合框是否命名为 Report1、Report2 等到 Report15 ?如果是这样,您不需要 15 块代码。您可以遍历它们并构建一条消息。