0

在数据透视表Facility字段中有 9 个不同的设施以及如何通过组合框选择特定设施(使用 Excel 2007)。

下面是我尝试过的代码,但它选择了所有 9 个设施。

        .PivotFields("ProjectCode ").Orientation = xlRowField

        With .PivotFields("Facility ") = ComboBox1.Text
        '   .PivotItems("ABC ").Visible = True
        '   .PivotItems("DLF ").Visible = False
        '   .PivotItems("EON ").Visible = False
        '   .PivotItems("XYZ ").Visible = False
        '   .PivotItems("SEZ ").Visible = False
        '   .PivotItems("QAZ ").Visible = False
        '   .PivotItems("QWE ").Visible = False
        '   .PivotItems("RMZ ").Visible = False
        '   .PivotItems("POI ").Visible = False

        End With

        .PivotFields("Facility ").Orientation = xlColumnField`  

ComBox1 源数据是从 sheet1 中的命名范围中选择的。

在此处输入图像描述

它为所有 9 个设施提供所需的结果,
现在如何制作一个从 ComboBox 获取值的数据透视表?
请帮忙。

4

1 回答 1

0

以下代码应该可以工作。单击命令按钮时它将运行。

Private Sub CommandButton1_Click()
    With ActiveSheet.PivotTables("Facility").PivotFields("Facility ")
        .PivotItems(ComboBox1.Text).Visible = True
        For Each Item In .PivotItems
            If Item.Value <> ComboBox1.Text Then
                Item.Visible = False
            End If
        Next
    End With
    Unload UserForm1
End Sub
于 2013-10-04T02:00:23.690 回答