【问题标题】:Excel filter Multiple Value in One CellExcel过滤一个单元格中的多个值
【发布时间】:2014-12-18 08:59:22
【问题描述】:

我正在寻求有关在一个以逗号分隔的单元格中过滤多个值的帮助。 例如,我有一个包含以下数据的电子表格:

Column A (Risk)     Column B (Risk Mitigation)

Risk A               Requirement1, Requirement2

Risk B               Requirement2, Requirement6, Requirement7

Risk C               Requirement1, Requirement3, Requirement9

当我过滤“需求缓解”列时,我希望看到以下复选框:

Requirement1

Requirement2


Requirement3

Requirement4

Requirement5

...

Requirement9

因此,对于我的示例,当我仅选中“要求 1”过滤器框时,只会显示“风险 A”和“风险 C”行

目前,当我通过唯一的单元格值过滤它时,这给了我

Requirement1, Requirement2

Requirement2, Requirement6, Requirement7

Requirement1, Requirement3, Requirement9

请注意,以上只是一个示例,我有数千个单独的要求,所以它不会像每个要求只有一列那么简单。

我愿意接受任何建议,包括创建 vbscripts。

任何帮助将不胜感激。

【问题讨论】:

    标签: excel vbscript


    【解决方案1】:

    这会很棘手。

    1. 首先,您需要创建一个包含列表框的表单,并使用正确语法的要求填充该列表框。
    2. 然后您需要创建一个循环,该循环将遍历列中的每个单元格并将每个单元格保存到一个字符串中,您可以创建一个一维字符串数组来将它们全部保存在其中。
    3. 然后您将需要一个循环来遍历每个字符串并使用 split 函数用分隔符分隔字符串,您需要将分隔符设置为“,”以确保它在逗号处分隔字符串.
    4. 然后,您需要一个循环,在您从表单的列表框中做出选择后运行该循环。此循环将遍历 2D 数组中的每个字符串,并检查它是否包含列表框中的任何要求。如果不是,请运行代码: Range("B" & x).EntireRow.Hidden = True 其中 x 是行,您可以为此使用循环中的变量之一。

    如果您需要更具体的信息,我可能需要查看您已经完成的工作,也可以使用此方法自动填充表单中的列表框。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-11-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多