使用按钮-VBA Excel按顺序隐藏表中最后一行的数据

使用按钮-VBA Excel按顺序隐藏表中最后一行的数据,excel,vba,Excel,Vba,我正在寻找一个代码来隐藏/取消隐藏最后一行数据,但在一个序列中使用按钮 我已经创建了一个表格,上面一行有一个问题,下面一行有1到10个答案。 我将隐藏表格中的所有10行,并要求响应者使用按钮一次取消隐藏一行,以获取他们的答案 我尝试了以下代码,但它取消隐藏所有行,而我需要在每次按顺序单击时取消隐藏一行 Dim startRow As Long: startRow = 1 Dim lastRow As Long: lastRow = ActiveSheet.UsedRange.Rows.Coun

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

我已经创建了一个表格,上面一行有一个问题,下面一行有1到10个答案。 我将隐藏表格中的所有10行,并要求响应者使用按钮一次取消隐藏一行,以获取他们的答案

我尝试了以下代码,但它取消隐藏所有行,而我需要在每次按顺序单击时取消隐藏一行

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

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

我希望在提前感谢的情况下,社区会有一些好的回应。

如果你想一次取消隐藏一行,你不能使用从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
子测试()
变暗startRow为长:startRow=1
将lastRow变长:lastRow=ActiveSheet.UsedRange.Rows.Count
开始时执行此操作<最后一行+1
如果ActiveSheet.Rows(startRow&“:”&startRow).Hidden=True,则
ActiveSheet.Rows(startRow&“:”&startRow).Hidden=False
startRow=lastRow+1
如果结束
startRow=startRow+1
环
端接头
另一种非VBA方法是保持行可见,并使用格式隐藏文本。然后,您可以在单元格中输入一个触发器值,该值由条件格式规则检查,并且该值将被格式化为显示。这样,您可以选择任何顺序来取消隐藏答案


你好,泰琳!太棒了。这段代码完全符合我的要求。我将此代码用于执行两个操作的表单按钮:1)打开新表单以输入数据;2) 取消隐藏新行集以在提交时记录数据。事实上,我有多个表,并且希望使用这种方法通过在文件中添加新行和编码来避免目标单元格链接的问题,所以我使用隐藏操作来处理它。但是非常感谢你的帮助!很乐意帮忙。请您按照中的解释标记答案,以便其他人更容易找到。是的,但这表明声誉低于15的人可以标记,但不能公开获取。我将再次访问此答案,并在达到该分数后进行标记。这是我在这个论坛上的第一篇帖子。再次感谢!如果你问这个问题,你可以标出答案。你只需要声誉来提高投票率,而不是给答案打分。两者是不同的。再看一遍电视。