VBA将行字段添加到数据透视表中

时间:2018-03-26 10:02:01

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

我想使用宏和切片器的组合在一个数据透视表中切换不同的Rowfield。我已经有了这段代码来选择不同的数据域。它不是放在模块中,而是放在VBA编辑器的特定列表中。在我的Excel中的那个列表中,有一个由切片器控制的辅助数据透视表,我选择应该在主数据透视表的数据字段中显示的内容。

if HOST_NAME() = 'hostname2'
     PRINT 'we are hostname2';

现在我想更改行而不是值。例如,有行显示的行和它在数据域中销售的数量。我可以使用上面的方法将其更改为数据字段中显示的$中的销售额,但我还想更改为显示我们的客户(按行)及其数量或销售额。 我尝试过这样做(修改数据域的宏):

Private Sub Worksheet_PivotTableUpdate(ByVal Target As PivotTable)

Dim ptMain As PivotTable
Dim pfMeasure As PivotField
Dim i As Long

On Error GoTo Errorhandler

Set ptMain = Worksheets("Multidimensional Graph").PivotTables("Multidimensional")

For Each pfMeasure In ptMain.DataFields
    pfMeasure.Orientation = xlHidden
Next

'to be able to choose more than one datafield
i = 0
Do While [ChoiceMeasures].Offset(i, 0).Value <> ""
    ptMain.AddDataField ptMain.PivotFields([ChoiceMeasures].Offset(i, 0).Value), [ChoiceMeasures] & " ", xlSum
    i = i + 1
Loop
Exit Sub    
Errorhandler:
Debug.Print Now(), Err.Description

End Sub

但它不起作用。任何人都可以帮助我吗?

0 个答案:

没有答案