使用按钮 - VBA Excel隐藏取消隐藏表格中数据的最后一行

时间:2017-01-25 05:20:31

标签: excel-vba vba excel

我正在寻找一个代码来隐藏/取消隐藏数据的最后一行,但是使用按钮按顺序隐藏。

我创建了一个表格,其中一行有问题,并且在下面的行中预计会有1到10个回复。 我将隐藏表中的所有10行,并要求响应者使用按钮一次取消隐藏一行以获得答案。

我尝试过以下代码,但它取消隐藏所有行,而我需要在每次点击时取消隐藏一行。

Dim startRow As Long: startRow = 1
Dim lastRow  As Long: lastRow = ActiveSheet.UsedRange.Rows.Count

ActiveSheet.Rows(startRow & ":" & lastRow).Hidden = False

我希望能得到社区的一些好评,并提前致谢。

1 个答案:

答案 0 :(得分:0)

如果你想一次取消隐藏一行,你就不能使用从startRow到lastRow的范围,对吧?这将始终取消隐藏从开始行到最后一行的所有行。

如果您打算在每次单击按钮时取消隐藏一行,请在按钮上尝试此宏。它将忽略已经取消隐藏的行,并从顶部开始取消隐藏第一个隐藏行,然后结束。

Sub test()
Dim startRow As Long: startRow = 1
Dim lastRow  As Long: lastRow = ActiveSheet.UsedRange.Rows.Count

Do While startRow < lastRow + 1
    If ActiveSheet.Rows(startRow & ":" & startRow).Hidden = True Then
        ActiveSheet.Rows(startRow & ":" & startRow).Hidden = False
        startRow = lastRow + 1
    End If
    startRow = startRow + 1
Loop


End Sub

另一种非VBA方法是保持行可见,并使用格式隐藏文本。然后,您可以在由条件格式设置规则检查的单元格中输入触发器值,并将值格式化为显示。这样你可以选择任何顺序来取消隐藏答案。

enter image description here