将主工作表中的过滤器应用于多个工作表

时间:2012-07-09 18:22:47

标签: excel excel-vba vba

我正在尝试将主工作表中的过滤器应用到同一工作簿中的多个工作表。

例如

工作簿中有3个工作表,每个工作表上有以下字段:

  1. 国家
  2. CountryCode,CountryName

    1. 销售
    2. CountryCode,SalesAmount

      1. 广告
      2. CountryCode,InvAmount

        当我通过FRA,JPN和USA过滤国家/地区表时,我预计销售和库存表将自动遵循相同的过滤条件,并仅显示FRA,JPN和USA行。

        它似乎并不太复杂,但我一直在尝试使用AdvancedFilter方法在VBA中编码,几天没有运气!

        非常感谢你的帮助!

1 个答案:

答案 0 :(得分:0)

我想要这样的东西,在我放置xx的每个工作表中插入要过滤的范围。将i, ii and iii替换为FRA,JPN和USA的国家/地区代码。

请注意,这是对国家/地区代码的过滤,而不是国家/地区名称,因为它是公共字段。

Option Explicit
Sub Apply_Filter()

Dim ws As Worksheet

For Each ws In ThisWorkbook.Worksheets
    With ws
        .Range("xx").AutoFilter Field:=1, Criteria1:=Array("i", _
        "ii", "iii"), Operator:=xlFilterValues
    End With
Next

End Sub