取消激活Excel用户表单

时间:2014-11-12 17:04:58

标签: excel-vba userform vba excel

我有一个代码,可以逐行处理Excel工作表。

在某些条件下,将对行中的数据进行某些手动操作。为此,程序将触发UserForm。 UserForm包含从基础Excel行填充的某些字段。然后,用户操纵这些字段,并单击用户窗体上的某些按钮。手动处理完成后,程序需要继续处理Excel工作表中的其余行。触发UserForm时,在对USERFORM采取操作之前,用户需要查看

a)在UserForm中推送了什么

b)标的Excel表格的内容

程序需要等到用户采取行动

但是,似乎没有简单的方法让用户看到基础行,因为Userform(在顶部)阻止访问下面的Excel表格。为了允许访问Excel工作表,我尝试使用

UserForm.Show vbModeless

UserForm.Show False

这两个都完全绕过Userform,程序运行剩余的行而不等待用户输入。

我在这里研究并找到了这个。

deactivate Excel VBA userform

在我的情况下,MainProgram调用UserForm并且必须在处理更多行之前等待USERFORM中的用户输入。如果不满足触发用户表单的条件,程序将继续执行下一行。

高度赞赏。提前谢谢。

编辑:

作为一种解决方法,我写了一行来选择触发手动干预的单元格。这使得该单元正好在手动干预UserForm之下。现在可以移动UserForm来查看下面的内容。

1 个答案:

答案 0 :(得分:0)

如何使用此脚本向表单添加取消激活按钮:

Private Sub CommandButton1_Click()
    UserForm1.Hide
        MsgBox "hit OK to continue", vbOKOnly, "Script Paused"
    UserForm1.Show
End Sub