【问题标题】:Filter a column for each of it's options为每个选项过滤一列
【发布时间】:2015-11-02 09:16:00
【问题描述】:

我有一个如下所示的工作表:

Area Contact            COL2
Jon                     test
Jane                    test
Doe                     test
Jon                     test
Doe                     test

我想要做的是编写一个 VBScript,它为每个选项(Jon、Jane、Doe)过滤区域联系人列并将其保存为另一个 Excel 工作簿。因此,对于这个特定示例,我应该为 Jon、Jane 和 Doe 上的每个过滤器选项提供 3 个工作簿。我正在努力的部分是过滤部分,确保它继续到下一个过滤选项。请注意,过滤器选项不是固定的。 “区域联系人”列中可能有 2 个或 10 个不同的名称。所以每个独特的区域联系人都应该有自己的文件。

【问题讨论】:

  • 如何使用自动筛选,以便我可以继续下一个筛选选项?据我所知,AutoFilter 可以与特定字符串匹配,在这种情况下,字符串会有所不同。
  • 使用 Count 来判断区域联系人是否是第一个唯一值。然后将该唯一值保存为字符串并为其自动过滤,以该值作为名称创建一个新工作簿,然后将可见单元格复制并粘贴到该工作簿中。然后返回并清除过滤器,然后继续寻找唯一值。
  • Extracting the collection of unique values from a filter in VBA 然后正如@KFichter 所述,遍历过滤条件并为每个数据集创建一个新工作簿。

标签: excel vbscript


【解决方案1】:

如果这是我的项目,我想我会创建一个单独的数据透视表,仅显示名称(来自基础数据的一个字段),因此它会为您提供唯一值,然后基于循环构建 vba数据透视表列表。当它下次运行时,数据透视表将是动态的,并且只会显示列表中的唯一名称,您可以基于此创建循环。

【讨论】:

    猜你喜欢
    • 2021-11-22
    • 2022-01-12
    • 2014-12-20
    • 2022-11-07
    • 1970-01-01
    • 2022-09-27
    • 1970-01-01
    • 1970-01-01
    • 2013-02-16
    相关资源
    最近更新 更多