我正在寻找一个代码来隐藏/取消隐藏数据的最后一行,但是使用按钮按顺序隐藏。
我创建了一个表格,其中一行有问题,并且在下面的行中预计会有1到10个回复。 我将隐藏表中的所有10行,并要求响应者使用按钮一次取消隐藏一行以获得答案。
我尝试过以下代码,但它取消隐藏所有行,而我需要在每次点击时取消隐藏一行。
Dim startRow As Long: startRow = 1
Dim lastRow As Long: lastRow = ActiveSheet.UsedRange.Rows.Count
ActiveSheet.Rows(startRow & ":" & lastRow).Hidden = False
我希望能得到社区的一些好评,并提前致谢。
答案 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方法是保持行可见,并使用格式隐藏文本。然后,您可以在由条件格式设置规则检查的单元格中输入触发器值,并将值格式化为显示。这样你可以选择任何顺序来取消隐藏答案。