我想使用宏和切片器的组合在一个数据透视表中切换不同的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
但它不起作用。任何人都可以帮助我吗?