来自其他工作表中的单元格的链接显示0但其他工作表显示的数据无法通过此

时间:2015-05-01 16:36:35

标签: excel vba excel-vba

花了几个小时寻找任何提及但没有运气。也许这里有人知道答案。我在excel中开发了一个大型应用程序。 sheet1从刚刚放置它的Com服务器接收数据。这已经工作了很长时间没有问题。 我有sheet2两个来自表1和公式的链接。我主要处理sheet1更改事件中的所有处理,因为在将函数放入单元格时我得到了循环引用。 从昨天起,我有一个问题,即表2中的单元格显示为0.当我转到链接单元格时,它有数据。有时数字,有时是文本,但是表2显示为0。

除了链接的单元格之外,我还使用单独的过程屏幕抓取一些数据并将其放在第3页以链接到其他单元格,因此sheet2还将包含此数据的链接。我今天花了这么多,所以它将数据直接放在sheet1而不是创建链接。这很乏味,会引起其他问题。 我检查了选项 - >公式。现在它被设置为最大迭代100;最大改变100.我减少了最大迭代次数,以阻止某些函数通过工作表更改事件递归地触发。现在我把它提高到了100。 我删除了再次启动工作表中保存的所有数据,同样的事情又发生了。 例如sheet1 cell" A1"的值为10 sheet2单元格a1的公式为=' sheet1'!A1 表2单元格A1显示为0 当我查看公式栏时,我看到公式

这个数据被损坏到第42行,这是持有数据的最后一行。在下面,条件格式是正确的颜色,即使公式看起来相同,我可以看到没有错误解释它,我再次将公式从44向上拖动,一切正常,但奇怪的是,当我从sheet1单元格1到44复制时粘贴回来的链接,我还是0。 当我运行系统并且COM erver提供负载并且更改事件触发等时,我最终会遇到同样的问题。

现在,当我添加一个新工作表并将我的链接从sheet1粘贴到此工具中时,它可以正常工作。 在我尝试修复它之后。所有sheet1和sheet2列都是格式化的,虽然以前我有一个列文本和其他一些数字。我无法控制sheet1的格式,因为无论我做什么,excel都会适应它收到的数据。 我也保持checkng for application.enableevents,这不是问题,也不是工作表计算和选项我有自动claculation集 在工作表2中的工作表更改下运行的唯一其他例程是一个tidyup,它在COM服务器传递较少行数后清除旧数据。 它从工作表中未使用的单元格复制默认数据。我根据需要放置了正确的格式和默认值,例如空白或0。这在过去没有引起任何问题,我不知道它可能会做什么,虽然之前我只是尝试过puttng""在要清除的细胞中确实会导致令人讨厌的excel错误。但不是现在。

有没有人有任何想法?

2 个答案:

答案 0 :(得分:0)

这个小例程修复了它。 Sub fixformulas() '修复由excel打破的公式由于某种原因     Cells.Replace什么:=" =",替换:=" =",LookAt:= xlPart,SearchOrder _         := xlByRows,MatchCase:= False,SearchFormat:= False,ReplaceFormat:= False 结束子

我所能解决的是,当excel复制公式并将它们放回原位时,它会破坏等号。其他一切都很好但是当我更换它时,灯仍在继续。

我宁愿知道如何预防它,但我希望没有其他人像我一样受苦。

答案 1 :(得分:0)

我不知道这是否仍然相关,但我遇到了同样的问题并来到这里寻找答案。

在我的情况下,我意识到我试图复制的单元格是一个合并的单元格(即它提供了一个范围)公式为[=' Sheet1'!B10:N10],结果为0而不是我想要的文字。所以我将公式更改为=' USA-CA'!B10并且有效。

希望这对其他人有帮助。