VBA:范围默认为65536行(excel 2003)如何增加更多行的范围?
下面的代码适用于65536行或更少的数据,但如果行数超过65536行,则会出现“类型不匹配”错误。我相信这与最初打算在Excel2003上使用的代码有关 你能帮我算出这一行吗,这样就需要65536行了VBA:范围默认为65536行(excel 2003)如何增加更多行的范围?,vba,excel,range,pivot-table,Vba,Excel,Range,Pivot Table,下面的代码适用于65536行或更少的数据,但如果行数超过65536行,则会出现“类型不匹配”错误。我相信这与最初打算在Excel2003上使用的代码有关 你能帮我算出这一行吗,这样就需要65536行了 Sub CreatePivot() ActiveSheet.Name = "PivotTable" Range("A1").Select Dim WSD As Worksheet Dim PTCache As PivotCache Dim PT As PivotTable Dim PRange
Sub CreatePivot()
ActiveSheet.Name = "PivotTable"
Range("A1").Select
Dim WSD As Worksheet
Dim PTCache As PivotCache
Dim PT As PivotTable
Dim PRange As Range
Dim FinalRow As Long
Dim FinalCol As Long
Set WSD = ActiveWorkbook.Worksheets("PivotTable")
' Define input area and set up a Pivot Cache
FinalRow = WSD.Cells(Rows.Count, 1).End(xlUp).Row
FinalCol = WSD.Cells(1, Columns.Count).End(xlToLeft).Column
Set PRange = WSD.Cells(1, 1).Resize(FinalRow, FinalCol)
Set PTCache = ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, _
SourceData:=PRange)
'create pivot table from the above cache
Set PT = PTCache.CreatePivotTable(TableDestination:=WSD.Cells(2, FinalCol + 2), _
TableName:=”dskpivot”)
'turn off updating while building the table
PT.ManualUpdate = True
'add fields rows and columns
PT.AddFields _
RowFields:="Location"
With ActiveSheet.PivotTables(1)
.AddDataField ActiveSheet.PivotTables(1).PivotFields("Traffic"), "Sum of Traffic"
End With
PT.ManualUpdate = False
试着换线
Set PTCache = ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, _
SourceData:=PRange)
到
PivotCaches.Add
方法已被弃用,默认情况下,该方法可能正在Excel 2003版本中创建数据透视缓存。使用PivotCaches.Create
并指定xlPivotTableVersion12
以Excel 2007格式显式创建缓存,这可能会解决您的问题。谢谢Tmdean,但我再次遇到同样的错误。运行时错误“13”:类型不匹配
Set PTCache = ActiveWorkbook.PivotCaches.Create(xlDatabase, PRange, _
xlPivotTableVersion12)