Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
VBA:范围默认为65536行(excel 2003)如何增加更多行的范围?_Vba_Excel_Range_Pivot Table - Fatal编程技术网

VBA:范围默认为65536行(excel 2003)如何增加更多行的范围?

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

下面的代码适用于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 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)