![](/img/trans.png)
[英]VBA Looping through Worksheets fails when Cells.Find is performed as code
[英]Looping PivotTable through Worksheets - FAILS when AddDataField
我已经处理了要处理的全部脚本的多个模块,这是唯一对我不利的组件。 我可以使数据透视表的初始设置正常工作,但是添加“求和”字段后会出错。 关于以下任何反馈将不胜感激。
Sub PivotChart2()
Dim LastRow As Long
Dim ws As Worksheet
Dim wb As Workbook
Set wb = ActiveWorkbook
For Each ws In wb.Sheets
If ws.Name = "Sheet1" Or ws.Name = "ZIP_US" Then
'Do Noathing
Else
LastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
Set PDATA = Range("$A$1:$F" & LastRow)
Dim PVTNAME As String
Dim PT As PivotTable
PVTNAME = Range("$K$1")
Sheets(ws.Name).Select
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
PDATA, Version:=6).CreatePivotTable TableDestination:= _
ws.Name & "!R3C10", TableName:=Range("$K$1"), DefaultVersion:=6
With ActiveSheet.PivotTables(1).PivotFields("STATE")
.Orientation = xlRowField
.Position = 1
End With
With ActiveSheet.PivotTables(1)
.AddDataField ActiveSheet.PivotTables(1).PivotFields("SALES"), "Sum of SALES", xlSum
End With
End If
Next ws
'pvt.PivotFields("STATE").Orientation = xlRowField
'pvt.AddDataField pvt.PivotFields("SALES"), "Sum of SALES", xlSum
End Sub
给我错误的代码部分如下:
With ActiveSheet.PivotTables(1)
.AddDataField ActiveSheet.PivotTables(1).PivotFields("SALES"), "Sum of SALES", xlSum
End With
错误如下:运行时错误'1004':无法获取PivotTable类的PivotFields属性
彼得-如您所述,我需要将其作为手动序列进行处理并查看代码。 我只是这样做,发现有问题的行需要修改为:
ActiveSheet.PivotTables(1).AddDataField ActiveSheet.PivotTables( _
1).PivotFields("SALES"), "Sum of SALES", xlSum
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.