Vba 无法打开数据透视表源文件

Vba 无法打开数据透视表源文件,vba,excel,runtime-error,pivot-table,Vba,Excel,Runtime Error,Pivot Table,回答 我录制了一个Excel宏(并将其保存在我的个人宏工作簿中)以创建一个透视表,并希望能够在多个工作表上使用它。当我在我的计算机上的电子表格上运行代码时,代码工作正常,但不会在其他计算机上运行,或者如果我尝试在VBA编辑器中运行它,代码也不会运行。它不断给出以下错误: (找不到数据透视表源文件) 问题是,文件以相同的确切名称保存在该位置。我尝试过用电子表格的范围替换路径(如果我想在其他电子表格上使用它,这并不理想),但这会产生应用程序定义或对象定义的错误。我也试着把它放在不同的地方,但没有用

回答

我录制了一个Excel宏(并将其保存在我的个人宏工作簿中)以创建一个透视表,并希望能够在多个工作表上使用它。当我在我的计算机上的电子表格上运行代码时,代码工作正常,但不会在其他计算机上运行,或者如果我尝试在VBA编辑器中运行它,代码也不会运行。它不断给出以下错误: (找不到数据透视表源文件)

问题是,文件以相同的确切名称保存在该位置。我尝试过用电子表格的范围替换路径(如果我想在其他电子表格上使用它,这并不理想),但这会产生应用程序定义或对象定义的错误。我也试着把它放在不同的地方,但没有用

我使用的代码如下所示:

   Sheets.Add
   ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
        "File_Name!R1C1:R1681C105", Version:=xlPivotTableVersion14). _
        CreatePivotTable TableDestination:="Sheet1!R3C1", TableName:="PivotTable1" _
        , DefaultVersion:=xlPivotTableVersion14
我认为问题出在“File_Name!R1C1:R1681C105”中(如果我更改文件位置,路径确实会更改,但会产生相同的错误)

如何让我的代码找到源文件

答案:市政承包商的方法有效。必须在我的代码之前添加以下代码,然后才能找到源文件

Set SrcWbk = Workbooks.Open("File_Name", , ReadOnly)

虽然它在我的计算机上运行良好,但我发现为了让我的代码在其他计算机上运行,工作表不能在Excel中打开,它只能在空白工作表上运行宏。可能只是一个侥幸,但我想提及一下,以防其他人遇到同样的问题。

我不确定这一点,但您可能需要首先使用
Set SrcWbk=Workbooks.open(文件名,只读)
。。。至少这是用来引用活动工作簿之外的范围的方式。看起来您使用的是R1C1表示法,但这对于大多数用户来说并不常见。如果更改此设置,是否解决了问题?非常感谢你,市政承包商!你是个救生员!终于成功了!