Tag: 无模式

模块相对于无模式用户表单的VBA最佳实践

我遇到了类似的问题,并阅读答复: 仍然暂停代码执行的无模式 我一直试图在我自己的情况下应用David Zemens提供的build议。 在我的情况下,我似乎找不到一个结合了泽门先生的build议而不使用GoTo的方法。 我想知道是否有更好或更优雅的解决scheme。 以下是我正在做的事情的概要: 我有一个用户窗体与一个命令button开始代码执行将执行多个Excel工作簿上的多个操作。 因此,有多个代码块,并且一个代码块的成功完成允许执行随后的代码块。 在某些情况下,根据情况,代码可能需要用户input; 在其他情况下,所需的数据可以从Excel获得。 如果需要从用户input,则会显示另一个用户窗体。 用户可能需要在inputinput之前查看几个不同的Excel工作表,所以UserForm是无模式的。 因此,代码停止,直到用户input所需的input并单击另一个命令button。 在这一点上,我有麻烦:如何恢复程序stream程。 唯一可以通过GoTo语句来拾取“停止”的方法是? 还是有某种方式来组织模块,所以有一个单一的一致的程序stream,定义在一个点,而不是从用户input可能需要的点重复?

VBA无模式forms停止function键

我想在我的Excel程序中有我自己的帮助文件。 在里面 Private Sub Workbook_Open() 我有 Application.OnKey "{F1}", "Help" 当我在Excel工作表,但我的应用程序是基于全屏幕主要用户窗体,显示无模式。 当用户窗体可见时,以某种方式阻止F1键,macros不会触发。 我认为无模式表单不会阻止代码执行。 任何提示如何使这项工作?