我创建了一个宏来创建一个数据透视表,根据列表框中的用户选择进行过滤。它首先创建数据透视表,然后根据列表框选择添加过滤器。这是一个例子:
If ListBox1 = ("Fred") Then
ActiveSheet.PivotTables("PivotTable1").PivotFields("Employee").CurrentPage = _
"(All)"
With ActiveSheet.PivotTables("PivotTable1").PivotFields("Employee")
.PivotItems("Tom").Visible = False
.PivotItems("John").Visible = False
.PivotItems("Mary").Visible = False
End If
进一步详细说明,如果用户在ListBox中选择Fred,它会过滤掉所有其他员工,在本例中为Tom,John和Mary。
这是问题所在。我创建的ListBox之一允许用户选择多个项目。这意味着我需要将项目的所有组合/排列硬编码到vba中。有没有一种方法可以做到这一点,而无需单独编写每个可能的用户选择组合?
如果我需要提供更多详细信息,请与我们联系。
谢谢,
KJ