VBA为超过69000行的xlsx创建数据透视表
我是VBA编程新手,目前正在为几个xlsx/xls文件创建透视表。有些文件有70000多个实例VBA为超过69000行的xlsx创建数据透视表,vba,excel,Vba,Excel,我是VBA编程新手,目前正在为几个xlsx/xls文件创建透视表。有些文件有70000多个实例 'Create Pivot Table for PAX Traffic for each subclasses Range("A1").Select Range(Selection, Selection.End(xlDown)).Select Range(Selection, Selection.End(xlToRight)).Select Dim SourceRange As Range Set
'Create Pivot Table for PAX Traffic for each subclasses
Range("A1").Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlToRight)).Select
Dim SourceRange As Range
Set SourceRange = Selection
Application.CutCopyMode = False
Sheets.Add
ActiveWorkbook.PivotCaches.Create( _
SourceType:=xlDatabase, _
SourceData:=SourceRange, _
Version:=xlPivotTableVersion11).CreatePivotTable _
TableDestination:="Sheet1!R3C1", TableName:="PivotTable1" _
, DefaultVersion:=xlPivotTableVersion11
在拥有70000多个实例的xlsx文件出现之前,它一直运行良好
'Create Pivot Table for PAX Traffic for each subclasses
Range("A1").Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, Selection.End(xlToRight)).Select
Dim SourceRange As Range
Set SourceRange = Selection
Application.CutCopyMode = False
Sheets.Add
ActiveWorkbook.PivotCaches.Create( _
SourceType:=xlDatabase, _
SourceData:=SourceRange, _
Version:=xlPivotTableVersion11).CreatePivotTable _
TableDestination:="Sheet1!R3C1", TableName:="PivotTable1" _
, DefaultVersion:=xlPivotTableVersion11
谢谢你的温柔帮助。试试这个
Sub CreatePivot()
Dim pt1 As PivotTable
Dim ptcache1 As PivotCache
Dim trange As Range
Dim srange As Range
Set srange = ActiveSheet.Range("A1").CurrentRegion
Set trange = Sheets("Sheet2").Range("A1")
Set ptcache1 = ActiveWorkbook.PivotCaches.Create(xlDatabase, srange)
Set pt1 = ptcache1.CreatePivotTable(trange, "do_Amazing")
With pt1
.PivotFields("...PivotFields1...").Orientation = xlRowField
.PivotFields("...PivotFields2...").Orientation = xlDataField
End With
我能够通过将范围转换为Excel表(在VBA中称为ListObject)来解决这个问题 然后,我将Excel表而不是范围作为源传递给
PivotCaches.Create()
它刚刚起作用。我想,对于大文件,您可能会遇到某种错误或崩溃。你能准确描述一下它不适用于哪些文件吗?你能描述一下它如何“不适用于”这些较大的文件吗?您是否收到错误消息?您好,下面显示的是错误消息运行时错误“13!”键入不匹配请告诉我查看您的excel。你能把这张纸上传到某个地方并提供林芝Sathish K吗?谢谢你的回复。“令人惊奇”是什么意思?我根据你的参考修改了我的代码。当它仍然显示运行时错误“13!”时,类型不匹配,直到它对具有70000多个指令的文件执行操作为止。它隐藏以下代码集ptcache1=ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase,SourceData:=SourceRange,Version:=xlPivotTableVersion14)Do_Azing-数据透视表的名称。。你试过我上面的代码吗?这是,我试过你的代码,它显示了运行时错误13
我如何在注释中键入修改后的代码?