自动过滤Excel VBA第二部分后删除隐藏/不可见行

时间:2015-07-22 14:54:25

标签: excel vba excel-vba

这里有新的海报。

我使用下面的代码来过滤我工作簿中公司的名称。我有多个标签为1-11的标签,我想这样做。

Sub FilterByFirm()

' FilterByFirm Macro



ActiveSheet.Range("$A$5:$QP$8000").AutoFilter Field:=6, Criteria1:= _
    "UBS Global Asset Management"

Dim oRow As Range, rng As Range
Dim myRows As Range
With Sheets("3")
    Set myRows = Intersect(.Range("A:A").EntireRow, .UsedRange)
    If myRows Is Nothing Then Exit Sub
End With

For Each oRow In myRows.Columns(1).Cells
    If oRow.EntireRow.Hidden Then
        If rng Is Nothing Then
            Set rng = oRow
        Else
            Set rng = Union(rng, oRow)
        End If
    End If
Next

If Not rng Is Nothing Then rng.EntireRow.Delete
End Sub

我一直在浏览并更新Sheets(“3”)到我目前正在工作的标签,因为这似乎是如何让事情发挥作用。但是,这在选项卡10(称为“10”)中不起作用。它在其他所有标签中都有效,我不知道为什么。宏不是过滤然后删除隐藏的行,而是简单地删除所有行。

我该如何纠正?我可以确认UBS出现在标签10中,所以这不是问题。

非常感谢!

0 个答案:

没有答案