【问题标题】:DeActivating an Excel userform停用 Excel 用户表单
【发布时间】:2014-11-12 17:04:58
【问题描述】:

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

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

a) UserForm 中推送的内容

b) 基础 Excel 工作表的内容

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

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

UserForm.Show vbModeless

UserForm.Show False

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

我在这里研究并发现了这个。

deactivate Excel VBA userform

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

高度赞赏帮助。提前致谢。

编辑:

作为一种解决方法,我写了一行来选择触发手动干预的单元格。这会将那个单元格带到手动干预用户窗体的正下方。现在可以移动用户窗体以查看下面的内容。

【问题讨论】:

    标签: excel userform vba


    【解决方案1】:

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

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

    【讨论】:

    • 再次感谢 Mike 的关注。请检查上面帖子中的编辑。
    猜你喜欢
    • 2018-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-06
    相关资源
    最近更新 更多