Excel VBA 宏使用复选框隐藏行 - If Else 语句

标签 excel if-statement checkbox case

我在一张工作表上有 60 个复选框。它们是表单控制复选框。它们都执行类似的功能,即隐藏行。当您单击复选框时,它会显示行
取消选中时,行将被隐藏。是否有一个简单的 if else 或 case 语句我可以为此编写:

Sub CheckBox1_Click()

    If Range("B4").Value = True Then
        Rows("5:62").EntireRow.Hidden = False
    Else
        Rows("5:62").EntireRow.Hidden = True
    End If

End Sub

Sub CheckBox2_Click()

    If Range("B63").Value = True Then
        Rows("64:102").EntireRow.Hidden = False
    Else
        Rows("64:102").EntireRow.Hidden = True
    End If

End Sub

Sub CheckBox3_Click()

    If Range("B103").Value = True Then
        Rows("104:129").EntireRow.Hidden = False
    Else
        Rows("104:129").EntireRow.Hidden = True
    End If

End Sub

Sub CheckBox4_Click()

    If Range("B130").Value = True Then
        Rows("131:160").EntireRow.Hidden = False
    Else
        Rows("131:160").EntireRow.Hidden = True
    End If

End Sub

Sub CheckBox5_Click()

    If Range("B161").Value = True Then
        Rows("162:183").EntireRow.Hidden = False
    Else
        Rows("162:183").EntireRow.Hidden = True
    End If

End Sub

Sub CheckBox6_Click()

    If Range("B184").Value = True Then
        Rows("185:222").EntireRow.Hidden = False
    Else
        Rows("185:222").EntireRow.Hidden = True
    End If

End Sub

Sub CheckBox7_Click()

    If Range("B223").Value = True Then
        Rows("224:244").EntireRow.Hidden = False
    Else
        Rows("224:244").EntireRow.Hidden = True
    End If
End Sub

........等等等等

另外,如果我需要添加更多行或删除行,我将如何编码?

我希望有一种格式,将来我可以用它来创建自己的复选框,而无需单独手动修复和编辑它们

最佳答案

你可以使用这样的东西:

Sub CheckBox1_Click()
   HideRows "B63", "64:102"
End Sub


Sub HideRows(controllerRange, rowRange)
   Rows(rowRange).EntireRow.Hidden = Not Range(controllerRange).Value
End Sub

您也可以直接从复选框中调用 HideRows。

在 CheckBox1 分配宏中,您将输入以下内容:
'HideRows "B63","64:102"'

注意:必须如图所示输入单引号。

关于Excel VBA 宏使用复选框隐藏行 - If Else 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18904904/

相关文章:

java - 使用 xlsx 在 R 中打开 Excel 文件时出错

vba - 使用VBA打开网站并点击视频

function - Haskell 多个条件组合

mysql - "IF"语句 MySQL

java - 如何将 CheckBox 转换为 HasChangeHandler

vba - 从文本文件中读取行但跳过前两行

java - 性能问题: convert csv to excel using Powershell

java - 简化 if 条件 boolean 表达式

wpf - WPF 的自定义复选框样式

c# - 从数据库中获取位值并显示在 GridView 的 CheckBox 中