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

Я не могу воспроизвести проблему, используя vba-macros размещенный вами макет. Я excel-2003 заметил несколько синтаксических vba ошибок в опубликованном вами visual-basic-applications коде (например: «для» должно vba быть «для каждого»). Но когда visual-basic-applications я поместил = RAND() в A1: A10 visual-basic-applications и = X (A1: A10), я получил vba результат, который отлично vba подходит для этого:

Public Function X(data As Range) As Double
    Dim c As Excel.Range
    Dim sum As Double
    For Each c In data.Cells
        sum = sum + c.Value
    Next
    X = sum
End Function

Однако visual-basic-applications я хотел бы немного подробнее vba-macros остановиться на некоторых vba других вопросах, которые visual-basic-applications вы ответили. Вы можете вычислить visual-basic-applications формулу для результата следующим macros-vba образом:

Public Function X(data As Range) As Double
    Dim c As Excel.Range
    Dim sum As Double
    For Each c In data.Cells
        sum = sum + Excel.Evaluate(c.Formula)
    Next
    X = sum
End Function

Но, вообще говоря, вам не захочется , поскольку это, по visual-basic-applications сути, вычисление одного и excel-2003 того же значения дважды.

vba

excel-2003

2022-10-17T09:40:14+00:00
Вопросы с похожей тематикой, как у вопроса:

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