在 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
是否可以在从 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