首页 > 解决方案 > 呼叫程序无效

问题描述

我收到以下代码的错误(无效的过程调用或参数)。我从记录的代码开始,并更新了代码以允许可变数据。最后一行代码给出了错误。目标工作表在工作簿中,并且尚未使用表名。变量“LastRow”在完整代码的前面定义,我确认它正在提取正确的值。关于可能导致错误的任何想法?

Dim pc As PivotCache
Dim pt As PivotTable

    Set pc = ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase _

        , SourceData:="'Funding Summary'!A1:AQ" & 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

标签: excelvba

解决方案


找到了解决方案:

Set pt = pc.CreatePivotTable(TableDestination:="'Funding Pivot'!A3"

应该

Set pt = pc.CreatePivotTable(TableDestination:=Sheets("Funding Pivot").Range("A3")


推荐阅读