''不用管工作表名称是数字还是数值,用工作表索引号循环即可,我的例子中注释的行可以删掉
Dim irow, i As Integer
For i = 1 To WorksheetsCount
irow = Sheets(i)Range("A1")End(xlDown)Row
ActiveWorkbookPivotCachesCreate(SourceType:=xlDatabase, SourceData:= _
Sheets(i)Range("a1:m" & irow), Version:=xlPivotTableVersion15)CreatePivotTable TableDestination:= _
Sheets(i)Cells(1, 15), TableName:="PivotTable" & i, DefaultVersion:=xlPivotTableVersion15
''With Sheets(i)PivotTables("PivotTable" & i)PivotFields("姓名") ''行字段
'' Orientation = xlRowField
'' Position = 1
'' End With
''Sheets(i)PivotTables("PivotTable" & i)AddDataField Sheets(i)PivotTables("PivotTable" & i _
)PivotFields("收入"), "求和项:收入", xlSum ''数据区域
''With Sheets(i)PivotTables("PivotTable" & i)PivotFields("月份") ''列字段
'' Orientation = xlColumnField
'' Position = 1
''End With
Next
End Sub
''你的代码中ActiveSheet要改成具体的表名,也就是sheets(i),因为你在循环中,只是选择‘’了sheets(i),而并未激活,所以活动工作表默认还是第一个表,死循环,肯定要出错
vba透视表根据数据类型选择数值类型。根据查询相关公开信息显示:在VBA中,数据也会被分成不同的类型,例如:处理数字的整型Integer型、长整型Long型、单精度浮点型Single型、双精度浮点型Double型,故vba透视表根据数据类型选择数值类型。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)