在 Option Strict On 的情况下将公式写入 Excel 范围

Writing formula into an Excel Range with Option Strict On

是否可以在从 VB.Net 到 Excel 的范围内编写公式?我正在使用一个字符串数组来保存我想应用于 Excel 范围的公式列表,而不是循环遍历并一次写入一个。

这一行是我试图用来写入范围的内容:

xlWorkSheet.Range("AF" & intCurrentRow.ToString & ":AG" & intCurrentRow.ToString).Formula = formulas

公式正在写入Excel,但Excel实际上显示的是公式,而不是计算值。如果我像这样将每个公式写入每个单元格:

xlWorkSheet.Range("AF" & intCurrentRow.ToString).Formula = formulas(0)
xlWorkSheet.Range("AG" & intCurrentRow.ToString).Formula = formulas(1)

它工作得很好并且 Excel 显示了它应该的计算值。几乎好像我错过了一步,但我无法在我的研究中找到任何东西。

一点击post我就发现了问题。您必须使用 .FormulaArray 属性 而不是 Excel.Range 的 .Formula 属性。

xlWorkSheet.Range("AF" & intCurrentRow.ToString & ":AG" & intCurrentRow.ToString).FormulaArray = formulas