Vba 排序数据透视表
我遇到一个问题,宏指出: 运行时错误“1004”应用程序定义或对象定义错误 但我想我确实定义了它?我以前在这段代码中定义过WS1,对该部分没有任何问题。这是本节中最后一行有问题的代码 提前感谢您的帮助Vba 排序数据透视表,vba,excel,runtime-error,pivot,Vba,Excel,Runtime Error,Pivot,我遇到一个问题,宏指出: 运行时错误“1004”应用程序定义或对象定义错误 但我想我确实定义了它?我以前在这段代码中定义过WS1,对该部分没有任何问题。这是本节中最后一行有问题的代码 提前感谢您的帮助 'Update Pivot Table Dim GroupPivot As PivotTable Set GroupPivot = WS1.PivotTables("GroupPivot") GroupPivot.PivotCache.Refresh 'Sort Pivo
'Update Pivot Table
Dim GroupPivot As PivotTable
Set GroupPivot = WS1.PivotTables("GroupPivot")
GroupPivot.PivotCache.Refresh
'Sort PivotTable
WS1.PivotTables("GroupPivot").PivotFields("Sum of Discrepancy").AutoSort Order:=xlDescending, Type:=xlSortValues
第一件事(这不是问题)是您在第三行定义了GroupPivot,但在最后一行您没有使用它。其次(这就是问题所在),您没有使用正确的参数名称。自动排序所需的两个参数是顺序和字段。
最后一行应该如下所示:
GroupPivot.PivotFields("Sum of Discrepancy").AutoSort Order:=xlDescending, Field:="Discrepancy"
但是上面的字段名可能不正确。它应该与pivot字段的SourceName匹配第一件事(这不是问题)是您在第三行定义了GroupPivot,但在最后一行您没有使用它。其次(这就是问题所在),您没有使用正确的参数名称。自动排序所需的两个参数是顺序和字段。
最后一行应该如下所示:
GroupPivot.PivotFields("Sum of Discrepancy").AutoSort Order:=xlDescending, Field:="Discrepancy"
但是上面的字段名可能不正确。它应该与pivot字段的SourceName匹配