过滤掉所有工作表中表格的空白

时间:2019-04-17 17:20:54

标签: excel vba

我正在运行一个报表,其中在费用代码中附加了美元金额。我在表格中列出了300多种费用代码。我有84个工作表,它们的表完全相同。我想使用Activex按钮从每个工作表的同一列中过滤掉所有空白。

Private Sub FilterBlanks_Click()

Worksheets("825209000").ListObjects("Table1").Range.AutoFilter _
 Field:=4, _
 Criteria1:="<>", _
 Operator:=xlFilterValues

Worksheets("825109202").ListObjects("Table2").Range.AutoFilter _
 Field:=4, _
 Criteria1:="<>", _
 Operator:=xlFilterValues

Worksheets("825109200").ListObjects("Table3").Range.AutoFilter _
 Field:=4, _
 Criteria1:="<>", _
 Operator:=xlFilterValues

End Sub

所附的代码是我为此使用的。似乎工作正常,但我想知道如何进行某种循环,这样就不必在代码中添加每个工作表和表了。

1 个答案:

答案 0 :(得分:0)

我建议您循环阅读。

Private Sub FilterBlanks_Click()

Dim ws As Worksheet

For Each ws In Worksheets
    ws.ListObjects(1).Range.AutoFilter _
                                Field:=4, _
                                Criteria1:="<>", _
                                Operator:=xlFilterValues

Next ws

End Sub