从Combobox获取值/将报表过滤器应用于带有VBA的数据透视表

时间:2013-10-11 10:01:23

标签: excel-vba excel-formula pivot-table vba excel

我有一个用户表单,用户从组合框(cboCountry)中选择域,并根据此选择我尝试将过滤器应用于带有VBA的现有数据透视表。我的代码如下所示,但是,此代码无效。

如果有人能帮我解决这个问题,我将不胜感激。

Dim chartType As String
chartType = cboCountry.Value

With ActiveSheet.PivotTables("PivotTable1").PivotFields("Domain")
.Orientation = xlPageField
.Position = 1
End With
ActiveSheet.PivotTables("PivotTable1").PivotFields("Domain").ClearAllFilters
ActiveSheet.PivotTables("PivotTable1").PivotFields("Domain").CurrentPage = chartType

我有以下错误。

Run-time error '1004':

Application-defined or object-defined error

提前谢谢。

1 个答案:

答案 0 :(得分:0)

修剪组合框的值可以解决问题。

With ActiveSheet.PivotTables("PivotTable1").PivotFields("Domain")
.Orientation = xlPageField
.Position = 1
End With
ActiveSheet.PivotTables("PivotTable1").PivotFields("Domain").ClearAllFilters
ActiveSheet.PivotTables("PivotTable1").PivotFields("Domain").CurrentPage = Trim(cboCountry.Value)