我想知道为什么在 Excel 2003 的 VBA 代码中我们甚至需要使用Range.Formula
将公式写入单元格而不是仅使用Range.Cell
?他们都将字符串写入成为论坛的单元格,并且公式有效(根据我的测试)。
ActiveCell.Value="=If(True,""yes"",""no"")"
和
ActiveCell.Formula="=If(True,""yes"",""no"")"
为我做同样的事情(当我选择一个单元格并在单独的单元格中分别执行上述每个代码段时)。它们都在单元格中显示“是”值,并且当我单击查看每个单元格时存储公式。
我查看了 Microsoft 的开发中心以获取信息:
Range.Formula
Excel 2013 的 Range.Formula 属性(Excel 2003 没有此属性的页面)
Range.Value
Excel 2003 的属性(展开“适用于 Range 对象的值属性。”标题
我还搜索了“为什么使用 Range.Formula 而不是 Range.Value VBA Excel”,但找不到与我的问题相关的任何内容。
有人说,用Range.Value
。
其他一些人说使用Range.Formula
堆栈溢出(对不起,我失去了对确切问题的引用......)