设置范围时发生VBA错误 – 1004应用程序定义的错误

嗨我正在我的VBA代码来设置范围基于我的源数据中的最后一行,然后在该范围内创build一个数据透视表。 但是,当我运行错误1004(应用程序定义错误)的代码时,这里的最后一行出错了。 我觉得所有的变数都被定义了,应该没问题。 消息框也给了我源数据中最后一行的编号。 你能帮我解决吗? 谢谢。

Dim PvtTbl As pivotTable Dim wsData As Worksheet Dim rngData As Range Dim PvtTblCache As PivotCache Dim wsPvtTbl As Worksheet Dim pvtFld As PivotField Set wsData = Worksheets("Task List Data Export") Set wsPvtTbl = Worksheets("Summary") wsPvtTbl.Cells.Clear wsPvtTbl.Cells.ColumnWidth = 10 For Each PvtTbl In wsPvtTbl.PivotTables If MsgBox("Delete existing PivotTable!", vbYesNo) = vbYes Then PvtTbl.TableRange2.Clear End If Next PvtTbl Dim last As Long With Worksheets("Task List Data Export") last = .Cells(.Rows.Count, "A").End(xlUp).Row End With MsgBox last Set rngData = Worksheets("Task List Data Export").Range(Cells(1, 1), Cells(last, 15)) 

************************更新************************嗨我申请了Dy.Lee的代码,这个错误终于消失了。 但是我的下一行再次出错(错误types不匹配)

 ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:=rngData, Version:=xlPivotTableVersion12).CreatePivotTable TableDestination:=wsPvtTbl.Range("B25"), TableName:="PivotTable1", DefaultVersion:=xlPivotTableVersion12 

有任何想法吗? 再次感谢

代码会是这样的

 With Worksheets("Task List Data Export") Set rngData = .Range(.Cells(1, 1), .Cells(last, 15)) End With