【问题标题】:Excel Table Data Connection Removes Cell Reference Upon RefreshExcel 表数据连接在刷新时删除单元格引用
【发布时间】:2013-11-20 23:52:40
【问题描述】:

我的 Excel 工作簿 (2007) 中有一个数据连接,它引用了另一个 Excel 工作簿中的一个表。我有一个单元格在表的最后一列标题中引用日期值。每次更新外部工作簿并且此日期值更改时,我的工作簿中的单元格引用都会损坏并且单元格显示#REF

如果它有助于我使用数据库查询。

连接字符串:{替换的路径和工作簿名称}

DBQ=PATH\WORKBOOKNAME.xlsx;DefaultDir=PATH;Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};DriverId=1046;FIL=excel 12.0;MaxBufferSize=2048;MaxScanRows=8;PageTimeout=5;ReadOnly=1;SafeTransactions=0;Threads=3;UID=admin;UserCommitSync=Yes;

命令文本:{替换路径}

SELECT * FROM `PATH\WORKBOOKNAME.xlsx`.`Main$` `Main$` ORDER BY `Main$`.IP

这是刷新前 H 列中的单元格值的样子:

这是刷新后 H 列中的单元格值的样子:

此表的最后一列标题包含一个日期值,每次更新源工作簿时都会更改该日期值(源工作簿中的可变日期)。从技术上讲,此日期字段不是其他工作簿表的一部分。但是,数据连接仍在将其拉入并包含在主工作表上的表格中。由于其他依赖关系,如果不更改其他几项内容,我将无法修改其他工作簿表和格式。我不确定是否有任何其他方式可以真正引用动态表头或正确引用此单元格,以便引用不会被破坏......

如果可能的话,我想在单元格公式中执行此操作,而不必使用宏。

非常感谢任何帮助。谢谢。

【问题讨论】:

    标签: excel excel-2007 export-to-excel database-table data-connections


    【解决方案1】:

    如果您认为表头用作数据库字段名称,则不应更改表头。我可以考虑一种解决方法,因为您直接为源书中的日期列提供范围名称,例如“日期”。然后在你的另一本书中,只需让单元格指向源书中的这个范围,即。 make cells=[sourcebookname.xlsx]!Dates

    【讨论】:

    • 它可能有效,但您是否测试过或做过类似的事情并且有效?
    【解决方案2】:

    我想解决方案就像使用间接一样简单......

    =INDIRECT("G1")
    

    【讨论】:

      猜你喜欢
      • 2023-04-05
      • 2014-06-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多