急!关于excel引用的数据变成#REF!怎么回事

来源:百度知道 编辑:UC知道 时间:2024/06/23 06:51:22
我用='09年1表'!F7-'08年1表'!F7
的方法计算数据,但只要重新导入09年1表,就全变成#REF!了。。。这是怎么回事啊?
主要是想在导入那表之前就把计算公式写好,=SUM(INDIRECT("'"&"09年1表!H7")-INDIRECT("'"&"08年1表!H7"))外还有别的方法可以做到吗?
重新导入是因为这表是计算用的,要计算出09年比08年多的地方,那个09年1表的数据可能是不同的,所以09年1表我是用VBA导入的

只能用=SUM(INDIRECT("'"&"09年1表!H7")-INDIRECT("'"&"08年1表!H7"))
这个最简单,因为是当前文件不存在必须打开的问题

"重新导入09年1表"是什么意思?
如果是这样不需要用INDIRECT,可这样:=IF(ISERROR('09年1表'!F7-'08年1表'!F7),"",'09年1表'!F7-'08年1表'!F7)

需要关注09年1表F7的地址变化:

1.是不是删除行,再导入的?

2.是不是其他地方剪切,然后粘贴过来的?

3.是不是导入前删除过工作表?
-----------------------------
采取复制、粘贴方式,可避免REF。

如果是09年1表!F7-08年1表!F7 就用下面的公式

=(INDIRECT("09年1表!H7")-INDIRECT("08年1表!H7"))

原先的公式没有问题
不用使用INDIRECT来做,否则就必须同时打开两个工作簿
而原公式可以不打开工作簿即能更新数据

问题出在对链接方式的处理
点击 编辑-链接,选择“启动提示”点选其中的第三项“更新链接”
在打开这个工作簿时,记得点“更新链接”

你用VBA打开的09表关掉后原表就视为目标数据丢失了~
再重新打开后就视为打开新的表格了
要保留公式得出的结果的话只能粘贴数值了
或者把09年相应的SHEET存在你要用的那个表里