我有一个带有名称列表的组合框,用于过滤数据透视表。
我选择的每个名称都会更改数据透视表上显示的值。
我需要一个代码,用这些数据透视表值填充第二个组合框。当我在第一个组合框中选择一个名称时,第二个组合框中的选项将是在透视表上按该名称过滤的选项。
以前,我以固定表的简单方式完成了此操作,但是现在值将不断变化,这就是为什么我需要为此使用数据透视表的原因。
答案 0 :(得分:0)
您可以将DataRange
中的PivotField
用作ComboBox
的来源。
您可以将每个单元格的值添加到ComboBox
项中...
Dim aCell As Range
For Each aCell In ActiveSheet.PivotTables(1).RowFields(1).DataRange.Cells
ActiveSheet.ComboBox1.AddItem aCell.Value
Next aCell
...或整个ComboBox.List
通过简单的分配就可以在一起:
ActiveSheet.ComboBox1.List = ActiveSheet.PivotTables(1).RowFields(1).DataRange.Value
我想您将“ TIMBRA ...”列表用作数据透视表中的唯一行字段。
如果不是,则可以按名称代替DataRange。 g。
ActiveWorkbook.Sheets("...").PivotTables("...").PivotFields("...").DataRange