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

标签 excel vba

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

例如。

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

  • 国家

  • 国家代码、国家名称
  • 销售

  • 国家代码、销售额
  • 库存

  • 国家代码,InvAmount

    当我按 FRA、JPN 和 USA 筛选 Country 表时,我希望 Sales 和 Inventory 表将自动遵循相同的筛选条件,并且仅显示 FRA、JPN 和 USA 行。

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

    非常感谢您的帮助!

    最佳答案

    我想你想要这样的东西,在我放置 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
    

    关于excel - 将主工作表中的过滤器应用于多个工作表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11400850/

    相关文章:

    python - 如何将多个数据框写入一张 Excel 工作表?

    vba - Excel 中空白行之间的动态范围

    vba - 将相同的方法应用于多个对象

    vba - 在运行宏时更新动态图表 - Excel 中的动画图表

    javascript - 如何在 PHP 中启用 ZipArchive?

    excel - 将两个不同工作簿中的两个范围粘贴到 Outlook 邮件正文中

    excel - 从单元格中删除字符串的前 '11' 个字符 - excel

    vba - 自动筛选 Excel VBA 后删除隐藏/不可见行

    excel - 制作输入框,以便用户可以输入他/她的名字并在每个消息框中使用

    excel - 使用 IF 时的多项选择以便在最后删除