通过单个按钮中的功能编程 运行(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
变量我必须是全局变量,不确定原因,因为如果它是局部变量,它会给出“类型块”错误。
我正在尝试编写一个按钮,该按钮在您每次单击时运行多个功能。我正在考虑 运行 循环,但似乎无法在库中找到合适的循环语法。
这是我认为应该的样子(有几个月没碰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
变量我必须是全局变量,不确定原因,因为如果它是局部变量,它会给出“类型块”错误。