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

How to delete a row instead of hiding it?

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

在阅读和观看了很多关于在对空单元格进行过滤后删除行的文章之后,我开始对这个问题大发雷霆,但今天没有任何真正的帮助,因为在遵循代码时问题多于解决方案从其他,到目前为止。

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

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

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

任何人如果有一个或两个精彩的衬里可以删除而不是隐藏,或者在必要时删除所有隐藏的

非常感谢

考虑:

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

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