将数据透视表中的“选择所有字段”宏添加到数据模型

时间:2018-09-12 14:37:18

标签: excel vba pivot-table excel-2013

我在Excel 2013中的数据透视表上工作,其中有许多需要激活的值列(超过100个)。我试图改写我在Internet中找到的宏,选择所有剩余字段作为值。但是,我处理的数据透视表已添加到数据模型中(不在Power Pivot中),因此该宏不起作用。

我在下面的宏上工作:

Sub AllFieldInPivotAsValues()

Dim pt As PivotTable
Dim I As Long
For Each pt In ActiveSheet.PivotTables
    For I = 1 To pt.PivotFields.Count
        With pt.PivotFields(I)
          If .Orientation = 0 Then .Orientation = xlDataField
        End With
    Next
Next
End Sub

我也尝试记录一个宏,并且我注意到使用数据模型数据透视表时该列的路径已扩展。就像这样:

ActiveSheet.PivotTables("PivotTable5").CubeFields.GetMeasure _
    "[Spends].[201512]", xlSum, "Sum of 201512 2"
ActiveSheet.PivotTables("PivotTable5").AddDataField ActiveSheet.PivotTables( _
    "PivotTable5").CubeFields("[Measures].[Sum of 201512 2]"), "Sum of 201512"

到目前为止,这对我来说太复杂了。然后,我需要您的建议以创建一个循环,该循环将与基于数据模型的数据透视表一起使用。预先感谢您的帮助。

0 个答案:

没有答案