gpt4 book ai didi

vba - 为什么在 Excel 2003 的 VBA 中使用 Range.Formula 而不是 Range.Value?

转载 作者:行者123 更新时间:2023-12-02 06:36:49 24 4
gpt4 key购买 nike

我想知道为什么在 Excel 2003 的 VBA 代码中我们甚至需要使用 Range.Formula 向单元格写入公式,而不是仅仅使用 范围.Cell?他们都将字符串写入成为论坛的单元格,并且公式有效(根据我的测试)。

ActiveCell.Value="=If(True,""yes"",""no"")"

ActiveCell.Formula="=If(True,""yes"",""no"")"

为我做同样的事情(当我选择一个单元格并在单独的单元格中分别执行上述每个代码段时)。它们都在单元格中显示"is"值,并且当我单击查看每个单元格时会存储公式。

我查看了 Microsoft 的开发中心以获取信息:

范围.公式 Range.Formula Property for Excel 2013 (Excel 2003 did not have a page for this Property)

范围.Value Property for Excel 2003 (Expand the "Value property as it applies to the Range object." heading

我还用 Google 搜索了“为什么使用 Range.Formula 而不是 Range.Value VBA Excel”,但找不到与我的问题相关的任何内容。

Some people也就是说,使用 Range.Value

其他人说在堆栈溢出时使用Range.Formula(抱歉我丢失了对确切问题的引用......)

最佳答案

就数据值(value)而言:

想象一下,您有整数、 double 用于某些计算,如果您使用 .formula,您就会被搞砸。因为 .FORMULA 总是返回一个字符串。 (任何没有设置为 .formula 的值都是普通值,而不是公式)除非您在代码中准备好了异常处理和附加功能。而 .VALUE 返回您期望的数据的数据类型。

在检索公式方面:值是设置公式但不检索的一种方法。

因此,您会发现引入这些方法是有原因的,可以帮助您使用所需的正确属性。 :-)

关于vba - 为什么在 Excel 2003 的 VBA 中使用 Range.Formula 而不是 Range.Value?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13687800/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com