Недопустимая Процедура Вызова

#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")