Excel VBA-如何插入没有公式的普通值?

Excel VBA-如何插入没有公式的普通值?,vba,excel,excel-2003,Vba,Excel,Excel 2003,我浏览了许多Excel VBA主题,但是,我没有找到任何关于插入普通值的信息—在本例中是SUM()的结果—而不是公式。有一种方法,pasteValues,但它似乎不是我想要的 以下代码示例插入公式,而不仅仅是值: Sub test() Range("A4").Value = "=SUM(A1:A3)" End Sub 如何在Excel VBA中插入没有公式的普通值?以下是我的想法,您正在寻找 range("a4").Value = Evaluate("SUM(A1:A3)") 您是否

我浏览了许多Excel VBA主题,但是,我没有找到任何关于插入普通值的信息—在本例中是
SUM()
的结果—而不是公式。有一种方法,
pasteValues
,但它似乎不是我想要的

以下代码示例插入公式,而不仅仅是值:

Sub test()
    Range("A4").Value = "=SUM(A1:A3)"
End Sub

如何在Excel VBA中插入没有公式的普通值?

以下是我的想法,您正在寻找

range("a4").Value = Evaluate("SUM(A1:A3)")

您是否想要计算
总和的实际结果?我会尝试使用
WorksheetFunction.Sum
eg

Dim MyRange as Range
With Worksheets("SheetName")
  Set MyRange = .Range(.Cells(1, 1), .Cells(3, 1))
  .Cells(4,1) = WorksheetFunction.Sum(MyRange)
End With

实际上,单元格(,)的参数分别是行和列。对于初学者来说,由于Range()和Cell()前面有额外的要点,所以理解这段代码要复杂得多。为什么工作表取消?这有助于提高性能吗?@referrer正确,参数为行、列。我搞错了。我会编辑。是的,我相信
工作表函数。Sum
将比
Evaluate()
快得多,因为
Evaluate()
每次都需要解析字符串。@请重新更正
用作
工作表(“SheetName”)
的简写(在本例中为
工作表(“SheetName”)
(这样可以避免重复,请参阅)。如果您想引用活动表中没有的单元格,则需要这些额外的限定条件。请尝试
Range(“A1”)。Formula=“=SUM(A1:A3)”
我想甚至不需要该值。所有工作都是由Evaluate完成的?也非常感谢!