Excel VBA - Как вставить обычное значение без формулы? - PullRequest
4 голосов
/ 28 апреля 2011

Я просмотрел многие темы Excel VBA, однако не нашел никакой информации о вставке простых значений - в данном случае результат SUM() - не формула. Есть метод, PasteSpecial xlPasteValues, но, похоже, это не то, что я ищу.

В следующем примере кода вставляется формула, а не только значение:

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

Как вставить простые значения без формулы в Excel VBA?

Ответы [ 2 ]

9 голосов
/ 28 апреля 2011

Вот то, что я думаю, вы ищете

range("a4").Value = Evaluate("SUM(A1:A3)")
3 голосов
/ 28 апреля 2011

Вы хотите фактический результат SUM? Я бы попробовал использовать WorksheetFunction.Sum например

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