【问题标题】:Define a Static variable, initialize it and then use it in Excel VBA定义一个静态变量,初始化它,然后在 Excel VBA 中使用它
【发布时间】:2017-05-07 08:25:40
【问题描述】:

我是 Excel 中相当新的编程宏,我不知道如何初始化静态变量,初始化一次,然后在不同函数调用期间修改它时使用它来保持值。

我有一个标题为“隐藏行”的单元格,我想在单击该单元格时切换不同行的可视化。

我尝试使用此代码,但就像我在开始时将变量 Hidden 初始化为 False 一样,它只能隐藏行,而不是显示它们。

Option Explicit

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  Static Hidden As Boolean
  Hidden = False

  If Selection.Count = 1 Then
    If Not Intersect(Target, Range("F8")) Is Nothing Then
        If Hidden = False Then
            Rows("1:1").EntireRow.Hidden = True

            MsgBox "Aaaau!"

            Hidden = True
        Else
            Rows("1:1").EntireRow.Hidden = False

            MsgBox "Hola!"

            Hidden = False
        End If
    End If
  End If
End Sub

【问题讨论】:

    标签: excel vba variables static


    【解决方案1】:

    你在宏开头设置了hidden为false,所以输入测试指令时hidden总是false。

    试试这个

    Option Explicit
    
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
      Static Hidden As Boolean
    
      If Selection.Count = 1 Then
        If Not Intersect(Target, Range("F8")) Is Nothing Then
            If Hidden = False Then
                Rows("1:1").EntireRow.Hidden = True
    
                MsgBox "Aaaau!"
    
                Hidden = True
            Else
                Rows("1:1").EntireRow.Hidden = False
    
                MsgBox "Hola!"
    
                Hidden = False
            End If
        End If
      End If
    End Sub
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-19
      • 2018-03-15
      • 1970-01-01
      • 2017-05-13
      • 1970-01-01
      • 2012-12-02
      相关资源
      最近更新 更多