问与答98:如何根据单元格中的值动态隐藏指定的行?

2021-03-12 16:57:36 浏览数 (1)

excelperfect

Q:我有一个工作表,在单元格B1中输入有数值,我想根据这个数值动态隐藏行2至行100。具体地说,就是在工作表中放置一个命令按钮,如果单元格B1中的数值是10时,当我单击这个命令按钮时,会显示前10行,即第2行至第11行;再次单击该按钮后,隐藏全部的行,即第2行至第100行;再单击该按钮,则又会显示第2行至第11行,又单击该按钮,隐藏第2行至第100行……也就是说,通过单击该按钮,重复显示第2行至第11行与隐藏第2行至第100行的操作。如图1所示。

图1

如何实现?

注:这是在chandoo.org的论坛上看到的一个贴子,有点意思。

A:使用的VBA代码如下:

代码语言:javascript复制
Public b As Boolean
 
Sub HideUnhide()
    If b =False Then
       Rows("2:100").Hidden = True
        On Error GoTo Skipper
       Rows(2).Resize(Range("B1").Value).Hidden = False
Skipper:
        b =True
    Else
       Rows("2:100").Hidden = True
       Rows(1).EntireRow.Hidden = False
       Application.Goto Range("A1"), True
        b =False
    End If
End Sub

在工作表中放置一个命令按钮,然后将该按钮的单击事件关联上述VBA程序,例如:

代码语言:javascript复制
Private Sub cmdButton_Click()
   HideUnhide
End Sub

完成!

欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。

vba

0 人点赞