Vb.net使用对其他工作簿的引用更新excel公式

时间:2013-08-03 13:09:59

标签: vb.net excel

我正在尝试将一些公式从一个工作簿更新到另一个工作簿。一切都很好,直到我遇到一个引用另一个工作簿的公式。例如像这样的公式=IF(ISERROR(W!Var1),0,W!Var2)它会提示我打开这个工作簿,我假设它可以评估公式。所以我的问题是这个。有没有办法让我在运行中处理这些情况,所以如果需要工作簿参考,它会提示我然后将其保存到内存中?因为如果我有多个包含这些公式的单元格,它将提示我为包含该链接的每个单元格打开引用的工作簿。或者,有没有一种方法可以将我的公式推入细胞而不用excel评估它?

因此,在我的代码中,我有这一行适用于任何不包含工作簿引用的值。 TheRange.RefersToRange.FormulaR1C1 = RangeFormula

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

我知道您引用Worksheets(给定Excel文件中的每个“标签”),Workbook是整个文件。无法找到引用的工作表时出现弹出消息。示例:range.Value = "=sheet5!A3"(在只有“sheet1”,“sheet2”和“sheet3”的工作簿中)。如果你想避免这个消息(虽然记住工作表不在那里,因此无论如何计算都是错误的),你可以写:

excelApp.DisplayAlerts = False

excelApp是您当前使用的Excel.Application