こんにちは私はソースデータの最後の行に基づいて範囲を設定し、その範囲でピボットテーブルを作成するために私の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'などを参照しているシートを指定するために常に' Cells'などを修飾します。最後の行は効果的に 'Set rngData = Worksheets(" Task List範囲(ActiveSheet.Cells(1,1)、ActiveSheet.Cells(last、15)) 'であり、別のワークシート上のセル間であるワークシート上の範囲を見つけることができません。 – YowE3K
@ YowE3Kこんにちは、ありがとうございました。これは私の混乱をクリアするのに非常に便利です:) – AmadeusNing