У меня есть макрос, который создает новый рабочий лист и сводную таблицу (которая отлично работает). Как только я пытаюсь добавить вторую сводную таблицу на этот лист, я получаю это сообщение об ошибке.
Error message: Run-time error '5': Invalid procedure call or argument
Когда я создаю вторую опорную точку на новом листе, она работает нормально, поэтому я думаю, что проблема в том, когда я выбираю добавить в существующий лист.
Вот код для второй сводной таблицы (созданной с помощью макроса, извините, я новичок в этом, поэтому он может быть немного беспорядочным), ошибка находится в строке 3. Не знаю, почему он ссылается на сводную таблицу «Вызовы по регионам / аналитикам» ", который является уже существующей точкой опоры:
Sheets("Sorted Data").Select
ActiveCell.Offset(1, -7).Range("Table1[[#Headers],[Status]]").Select
ActiveWorkbook.Worksheets("Pivot Tables").pivotTables("Calls by Region/Analyst" _
).PivotCache.CreatePivotTable TableDestination: = "Pivot Tables!R3C6", _
TableName: = "PivotTable6", DefaultVersion:=xlPivotTableVersion12
Sheets("Pivot Tables").Select
Cells(3, 6).Select
ActiveSheet.pivotTables("PivotTable6").Name = "Analyst"
ActiveSheet.pivotTables("Analyst").AddDataField ActiveSheet.pivotTables( _
"Analyst").PivotFields("Assigned User Name"), "Count of Assigned User Name", _
xlCount
ActiveSheet.pivotTables("Analyst").PivotFields("Count of Assigned User Name"). _
Caption = "Number of Calls"
With ActiveSheet.pivotTables("Analyst").PivotFields("Assigned User Name")
.Orientation = xlRowField
.Position = 1
End With
ActiveSheet.pivotTables("Analyst").CompactLayoutRowHeader = "Analyst"
ActiveCell.Offset(0, 4).Range("A1").Select
End Sub
Вот код для второй точки поворота, которая работает при ее открытии на листе новый, однако мне он нужен на существующем листе (в F3):
Sheets("Sorted Data").Select
ActiveCell.Offset(1, -7).Range("Table1[[#Headers],[Status]]").Select
Sheets.Add
ActiveWorkbook.Worksheets("Pivot Tables").pivotTables("Calls by Region/Analyst" _
).PivotCache.CreatePivotTable TableDestination: = "Sheet3!R3C1", TableName:= _
"PivotTable5", DefaultVersion:=xlPivotTableVersion12
Sheets("Sheet3").Select
Cells(3, 1).Select
ActiveSheet.pivotTables("PivotTable5").Name = "Analyst"
ActiveSheet.pivotTables("Analyst").AddDataField ActiveSheet.pivotTables( _
"Analyst").PivotFields("Assigned User Name"), "Count of Assigned User Name", _
xlCount
ActiveSheet.pivotTables("Analyst").PivotFields("Count of Assigned User Name"). _
Caption = "Number of Calls"
With ActiveSheet.pivotTables("Analyst").PivotFields("Assigned User Name")
.Orientation = xlRowField
.Position = 1
End With
ActiveSheet.pivotTables("Analyst").CompactLayoutRowHeader = "Analyst"
ActiveCell.Offset(1, 0).Range("A1").Select
Ой, извините! Это третья строка в первом блоке кода: ActiveWorkbook.Worksheets («Сводные таблицы»). PivotTables («Вызовы по регионам / аналитикам» _) .PivotCache.CreatePivotTable TableDestination: = «Сводные таблицы! R3C6», _ TableName: = "PivotTable6", DefaultVersion: = xlPivotTableVersion12
Может быть, на этом листе уже есть «сводная таблица6»?
@TimWilliams есть только 1 другая сводная таблица! Я думаю, что это просто сводная таблица6, потому что я пытался записать (а затем удалить) макрос пару раз
@QHarr готово! извини, новичок здесь





Всегда помогает отметить, какая именно строка вызывает ошибку