如何删除行而不是隐藏行?

时间:2019-06-07 15:23:08

标签: excel vba excel-2010

尝试删除而不是从一个工作表中隐藏(其中过滤器按钮位于目录列表所在的另一个工作表中),即尝试根据用户的选择创建类似(最好的描述方式)购物篮之类的东西,并减少选择后在另一个工作表上的(长)列表。

在阅读并观看了许多关于空单元格过滤后删除行的文章之后,我开始着手研究。今天,没有什么真正有用的,因为从其他代码中读取代码后,除了解决方案以外,还有更多问题,到目前为止。

基本上,我在单独的工作表上有一个休目录,如果用户说是,则应显示该目录;如果不是,则将其显示(但有一个值)。看到非常基本的脚本,可以完美运行,但是我必须删除而不是隐藏。看来EntireRow.delete超出了我的范围,因为它引入了许多问题,其中隐藏操作如此顺利。

尝试许多其他脚本,它们实际上都无法简化答案,并且99%实际上是针对单个工作表和范围,而不是特定工作表和特定列,即E:E(下面的脚本脚本显示了更多),我使用的是表也​​一样,所以这也有些不同。

For a = 2 To 150
    If Worksheets("Requirements").Cells(a, 5).Value = "High" Then
        Worksheets("Requirements").Rows(a).Hidden = True
    End If
Next

具有出色的一两个衬垫的人可以删除而不是隐藏,或者在必要时删除所有隐藏的东西

非常感谢

1 个答案:

答案 0 :(得分:2)

考虑:

Sub sjdhfs()
    For a = 150 To 2 Step -1
        If Worksheets("Requirements").Cells(a, 5).Value = "High" Then
            Worksheets("Requirements").Cells(a, 5).EntireRow.Delete
        End If
    Next a
End Sub

请注意,我们从底部顶部运行循环。