使用VBA将数组添加到数据透视表中的不同字段

时间:2016-10-11 20:47:54

标签: excel vba pivot-table

我是VBA新手,试图将某些变量添加到值字段(但是这个问题可以扩展到其他数据透视表字段,如行或列字段)。

我想在一年中的几周内使用VBA一次性添加,而不是一个一个地手动(拖动)。

我在网上找到了以下代码,它将所有变量添加到values字段中,但我想编辑它以便能够复制一个变量名列表来添加而不是添加所有变量。

Sub AddAllFieldsValues()
' Adds all fields to Values
    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

任何人都可以对上述代码进行任何编辑来回答我的问题吗?如果需要进一步解释,请告诉我。

感谢。

1 个答案:

答案 0 :(得分:0)

Jonathan在评论中提到的内容通常被称为“Unpivoting”。谷歌“Unpivot”,你会找到一大堆为你做的VBA代码,包括我在http://dailydoseofexcel.com/archives/2013/11/21/unpivot-shootout/写的一篇文章

(如果您选择使用该帖子中的代码,请向下滚动,直至看到“2013年11月26日更新”字样。我的代码非常复杂,但处理非常罕见的最终情况,其中未填充的数据集太长适合在表格上。)