【问题标题】:count no of clicks on a button in excel vba计算excel vba中按钮的点击次数
【发布时间】:2013-11-28 17:52:43
【问题描述】:

我有一个表单控制按钮,我想用它来对列进行分组。也就是说,如果第一次单击它会分组/隐藏这些列,而下次单击它会取消隐藏这些列。

我想计算点击该按钮的次数,这样,如果包含no of clicks 计数的variableodd,我将隐藏列,否则如果它是even,我将取消隐藏列。

这是我的代码

Private Sub CommandButton1_Click()
Static cnt As Long
cnt = 0
Dim remain As Integer
cnt = cnt + 1


remain = cnt Mod 2

If remain = 1 Then
 ActiveSheet.Outline.ShowLevels RowLevels:=0, ColumnLevels:=1
 End If

 If remain = 2 Then
 ActiveSheet.Outline.ShowLevels RowLevels:=0, ColumnLevels:=2
 End If


End Sub

那么我如何计算 vba 变量中该按钮的点击次数。 抱歉英语不好?

【问题讨论】:

  • 我可以给你答案,但请告诉我们你尝试了什么?要求代码的问题必须表明对正在解决的问题的最低限度的理解。包括尝试的解决方案、它们为什么不起作用以及预期的结果。另见:Stack Overflow question checklist
  • 我已经编辑了帖子并给出了我的代码。

标签: vba excel


【解决方案1】:

好的,您不需要使用计数并继续添加它。您可以改用 Boolean 变量。这是一个例子。这适用于ON/OFF 开关。

Option Explicit

Dim boolOn As Boolean

Sub CommandButton1_Click()
    If boolOn = False Then
        boolOn = True

        MsgBox "OFF"
        '
        '~~> Do what you want to do
        '
    Else
        boolOn = False
        '
        '~~> Do what you want to do
        '
        MsgBox "ON"
    End If
End Sub

【讨论】:

  • Sub CommandButton1_Click() If boolOn = False Then boolOn = True ActiveSheet.Outline.ShowLevels RowLevels:=0, ColumnLevels:=1 Else boolOn = False ActiveSheet.Outline.ShowLevels RowLevels:=0, ColumnLevels:=2 End If End Sub 这是我修改的代码,但这并没有达到我想要的效果
  • 请解释“预期效果”
  • 对不起,我纠正了我的错误。非常感谢您的解决方案
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-11-29
  • 2020-05-30
  • 1970-01-01
  • 1970-01-01
  • 2020-05-16
  • 2018-12-22
  • 1970-01-01
相关资源
最近更新 更多