通过单个按钮中的功能编程 运行(1 个功能 = 1 次点击)

Program to run through functions in a single button (1 function = 1 click)

我正在尝试编写一个按钮,该按钮在您每次单击时运行多个功能。我正在考虑 运行 循环,但似乎无法在库中找到合适的循环语法。

这是我认为应该的样子(有几个月没碰VBAExcel)

Private Sub CommandButton15_Click() 
    i As Click
    r As Counter

    i = CommandButton15.Click

    For Each i In UserForm1    
        If r = 1 Then
            TextBox1.Text = "Do 1st function"
        ElseIf r = 2 Then
            TextBox1.Text = "Do 2nd function"
        Else
            TextBox1.Text = "Do 3rd function"
        End If
    Next i
End Sub

代码和 buttons/textboxes 在出现的用户表单中。 如果有人可以帮助找出语法或示例,我们将不胜感激。

谢谢!

在我看来,您有两个简单的选择:

  • 如果您在 sheet 中使用您的代码,您可以将 'currentStep' 标志存储在隐藏单元格中。 (也许是最后一行,最后一列,一个)
  • 如果您没有 sheet,或者您不知道如何使用它,也许您可​​以创建一个简单的 txt 文件,将您的标志存储在那里,并在您每次使用时加载它 运行 你的代码。

在这两种情况下,在读取 'currentStep' 值后,您可以决定要 运行 的代码部分。

在您的用户窗体中,存储一个全局变量并在按钮的 Click 事件中增加计数器。

Option Explicit

Private clickCount As Long

Private Sub CommandButton15_Click()
        
    clickCount = clickCount + 1
    
    Select Case clickCount
        Case 1
            TextBox1.Text = "Do 1st function"
        Case 2
            TextBox1.Text = "Do 2nd function"
        Case Else
            TextBox1.Text = "Do 3rd function"
    End Select
End Sub

感谢您的所有回答!

我还没有尝试过它们,但好消息是我最终通过一个简单的 If-Else 没有循环 函数找到了答案。

Option Explicit
Public i As Integer
Private Sub CommandButton15_Click()

    If i = 0 Then
        TextBox1.Text = "Do 1st function"
        i = 1
    ElseIf i = 1 Then
        TextBox1.Text = "Do 2nd function"
        i = 2
    Else
        TextBox1.Text = "Do 3rd function"
        i = 0
    End If


End Sub

变量我必须是全局变量,不确定原因,因为如果它是局部变量,它会给出“类型块”错误。