使用变量在Excel VBA中设置对象属性

时间:2017-07-19 14:30:45

标签: excel vba powerpivot

我有一个数据透视表,它与工作簿中的查询有连接作为数据源。我正在尝试编写VBA代码,用于更改数据透视表中的值,不进行任何计算,以显示与之不同的值。

Sub mySub()

Dim thisyear
thisyear = "2010"

Sheet1.Activate
Range("A6").Select 'this selects all of the data in the pivot table
    With ActiveSheet.PivotTables("PivotTable1").PivotFields( _
        "[Measures].[Sum of Income]")
        .Calculation = xlDifferenceFrom
        .BaseField = "[AllTabs].[year].[year]"
        .BaseItem = thisyear
    End With
End Sub

由于数据源来自数据模型中的查询,因此我必须在[收入总和]之前添加[Measures]并在基本字段中将[year]置于两次由于某种原因。基本项不接受变量(如果您在excel中选择它的值,则其值是其中一个选项)甚至是字符串。我是否因为数据透视表的数据源而遇到这些问题?

0 个答案:

没有答案