当前位置: 首页 > 知识库问答 >
问题:

运行时错误1004“无法打开数据透视表源文件”

浦出野
2023-03-14

我想基于同一工作簿中的数据集(包含在工作表中)创建一个透视表。

当我运行宏时,工作簿是打开的。数据集来自在Access中运行查询,然后将其导出到Excel。我还尝试在运行宏之前保存工作簿。我正在使用Excel2016。

这是我的代码:

Sub BusinessInteligenceCreatePivotTable()
    Dim PivotSheet As Worksheet
    Dim pvtCache As PivotCache
    Dim pvt As PivotTable

    'Determine the data range you want to pivot
    Set pvtCache = ThisWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:=wsPartsMachines.Name & "'!" & wsPartsMachines.Range("A1").CurrentRegion.Address, Version:=xlPivotTableVersion15)

    'Create a new worksheet
    With ThisWorkbook
        Set PivotSheet = .Sheets.Add(After:=.Sheets(.Sheets.Count))
        PivotSheet.Name = "Production Schedule"
    End With

    PivotSheet.Activate
    Range("A1").Select

    'Create Pivot table from Pivot Cache
    'Set pvt = pvtCache.CreatePivotTable(TableDestination:=ActiveCell, TableName:="ProductionSchedule")
    Set pvt = PivotSheet.PivotTables.Add(PivotCache:=pvtCache, TableDestination:=ActiveCell, TableName:="ProdSched")
End Sub
Sub BusinessInteligenceCreatePivotTable()
    Dim PivotSheet As Worksheet
    With ThisWorkbook
        Set PivotSheet = .Sheets.Add(After:=.Sheets(.Sheets.Count))
        PivotSheet.Name = "Production Schedule"
    End With

    PivotSheet.Activate
    Range("A1").Select

    ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
        "Parts & Machines2!R1C1:R1328C14", Version:=6).CreatePivotTable _
        TableDestination:=ActiveCell, TableName:="PivotTable1", DefaultVersion:=6

End Sub

资料截图。

共有1个答案

顾宸
2023-03-14

我不太确定您在哪里定义WSPartsMachines作为工作表以及在哪里设置它。

但是,错误在行中:

Set pvtCache = ThisWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:=wsPartsMachines.Name & "'!" & wsPartsMachines.Range("A1").CurrentRegion.Address, Version:=xlPivotTableVersion15)

如果在:

Debug.Print pvtCache.SourceData
Set pvtCache = ThisWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:=wsPartsMachines.Name & "!" & wsPartsMachines.Range("A1").CurrentRegion.Address)
Dim pvtDataRng As Range

Set wsPartsMachines = Sheets("Parts & Machines2")
' set the Pivot Table Data Source Range
Set pvtDataRng = wsPartsMachines.Range("A1").CurrentRegion

Set pvtCache = ThisWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:=pvtDataRng)

'Create Pivot table from Pivot Cache
Set pvt = PivotSheet.PivotTables.Add(PivotCache:=pvtCache, TableDestination:=ActiveCell, TableName:="ProdSched")
 类似资料:
  • 我用的是Android平板,上面有Xamarin/C#应用。我试图用这款平板电脑访问驻留在我的Windows 10机器上的SQLite数据库。我选择使用USB/Android而不是Android模拟器,应用程序仍然驻留在Windows 10机器上。这似乎无关紧要,但我也尝试过映射驱动器、共享文件夹和创建网络连接。项目参考 这是代码: 命名空间CicoAndroid{公共部分类MainPage: C

  • 当我跑步时 我得到这个错误 get _ new _ connection conn = database . connect(* * conn _ params)Django . db . utils . operational错误:无法打开数据库文件 my settings.py:

  • 我想在数据目录中为应用程序创建一个数据库。我试着使用 但我总是遇到以下异常:无法打开数据库文件 Logcat得出以下结果: 04-10 19:55:09.387: E/SqliteDatabase aseCpp(554):sqlite3_open_v2("/data/data/at.einkaufsliste/database/Einkaufsliste.sqlite", 我设置了权限外部存储和组

  • 输出 Tkinter回调 回溯(最近一次调用)中出现异常: 文件“C:\Users\Mevada\AppData\Local\Programs\Python\Python37\lib\Tkinter\uuuuuu init\uuuuuuuuuu.py”,第1702行,在调用返回self中。func(*args) 文件“test.py”,第9行,在func\u image font\u type\u

  • 问题内容: 刷新带有BackGroundQuery设置为False的QueryTable时,我遇到了Excel 2013的问题(出于我们的目的,BackgroundQuery必须设置为false)。当提供不返回任何数据的查询时,将发生1004运行时错误,最常见的原因是没有返回任何数据是在特定时间范围内或在特定资源上没有记录。 我的同事和我自己一直在尝试解决此问题,但尚未找到解决方案,我们进一步发现