您好我正在處理我的VBA代碼,以基於源數據中的最後一行設置範圍,然後在該範圍上創建數據透視表。但是,當我運行帶有錯誤1004(應用程序定義的錯誤)的代碼時,這裏的最後一行出錯了。我覺得所有的變數都已被定義,應該沒問題。該消息框還爲我提供源數據中最後一行的右側數字。你能幫我解決嗎?謝謝。當設置一個範圍時發生VBA錯誤 - 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的代碼,這個錯誤終於消失了。但我的下一行再次出錯(錯誤類型不匹配)
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:=rngData, Version:=xlPivotTableVersion12).CreatePivotTable TableDestination:=wsPvtTbl.Range("B25"), TableName:="PivotTable1", DefaultVersion:=xlPivotTableVersion12
任何想法?再次感謝
************************更新******* ****************** – AmadeusNing
總是要限定'Cells'等,以指定它所指的是哪一個表格 - 最後一行實際上是'Set rngData = Worksheets(「Task List數據導出「)。範圍(ActiveSheet.Cells(1,1),ActiveSheet.Cells(last,15))',並且您不能在一個工作表上的不同工作表上的單元格之間找到範圍。 – YowE3K
@ YowE3K嗨非常感謝您的提示。這對清除我的困惑非常有用:) – AmadeusNing