#excel #vba
Вопрос:
Я получаю сообщение об ошибке с приведенным ниже кодом (Недопустимый вызов процедуры или аргумент). Я начал с записанного кода и обновил код, чтобы включить переменные данные. Последняя строка кода выдает ошибку. Целевой лист находится в рабочей книге, и имя таблицы еще не занято. Переменная «lastRow» определена ранее в полном коде, и я подтвердил, что она извлекает правильное значение. Есть какие-нибудь идеи относительно того, что может быть причиной ошибки?
Dim pc As PivotCache
Dim pt As PivotTable
Set pc = ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase _
, SourceData:="'Funding Summary'!A1:AQ" amp; LastRow, Version:=6)
Set pt = pc.CreatePivotTable(TableDestination:="'Funding Pivot'!A3", TableName:="FundingPivot", _
DefaultVersion:=6)
Переменная lastRow была определена ранее:
Dim LastRow As Long
LastRow = Cells(Rows.Count, 2).End(xlUp).Row
Комментарии:
1. Вы
LastRow
где-то определили и дали ему ненулевое значение?2. Да, это определено в самом начале кода. Я смог подтвердить, что переменная работает.
3. хорошо, спасибо! Я добавил это для ясности
4. Ах, извините за это. Я добавил этот код в сообщение
Ответ №1:
Нашел решение:
Set pt = pc.CreatePivotTable(TableDestination:="'Funding Pivot'!A3"
Должно быть
Set pt = pc.CreatePivotTable(TableDestination:=Sheets("Funding Pivot").Range("A3")