用数据透视表值填充组合框

时间:2019-05-24 20:05:32

标签: excel vba combobox pivot-table

我有一个带有名称列表的组合框,用于过滤数据透视表。
我选择的每个名称都会更改数据透视表上显示的值。

我需要一个代码,用这些数据透视表值填充第二个组合框。当我在第一个组合框中选择一个名称时,第二个组合框中的选项将是在透视表上按该名称过滤的选项。

以前,我以固定表的简单方式完成了此操作,但是现在值将不断变化,这就是为什么我需要为此使用数据透视表的原因。

enter image description here

1 个答案:

答案 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