VBA - 用户窗体按钮(宏)继续运行子

标签 vba excel

我有一个子叫 sub1()通过命令 userform1.show() 激活 userform1

此 userform1 有一个名为 continue 的按钮。单击该按钮继续 - 称为 Private Sub continuebutton() 的宏被激活。

我想以这样一种方式进行编程,使其重定向到 userform1.show() 之后的行在 sub1() .

这是可以做的事情吗?

最佳答案

从理论上讲,你想要的都是可能的,如果你这样做:

在用户窗体中:

Private Sub btnContinue_Click()
    flag = True
    Debug.Print "I continue ..."
    sub1
End Sub

在一个模块中:
Public flag As Boolean

Public Sub sub1()

    If flag Then
        Debug.Print "sub 1 continues here..."
    Else
        flag = False
        UserForm1.Show
        Exit Sub
    End If

End Sub

它将完全按照预期工作,但是 以这种方式工作不是一个好习惯。 (有些人可能会因为在 VBA 中使用公共(public)变量而向你扔石头。)这里有两篇文章,它们提供了更好的想法:
  • https://rubberduckvba.wordpress.com/2017/10/25/userform1-show/

  • 免责声明 - 这是我的:
  • http://www.vitoshacademy.com/vba-the-perfect-userform-in-vba/
  • 关于VBA - 用户窗体按钮(宏)继续运行子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46931901/

    相关文章:

    VBA - 带有刻度线和 x 标记的条件格式

    vba - 暂停 VBA 循环以允许编辑工作表(无论有或没有用户窗体)

    excel - 如何编辑Word中表格除第一行之外的每一行的字体

    asp.net - 获取事件工作表 Excel

    python - 如何从 *.xlsm 中提取工作表并将其保存为 Python 中的 *.csv?

    regex - 特殊字符的 VBA 正则表达式

    VBA删除绿色文本: Font. ThemeColor

    javascript - 如何使 <td> 今天的日期 + 14

    vba - 图表轴标签格式VBA设置

    excel - VBA复制/粘贴跳过每5行