Как получить значение ячейки из формулы в 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
Как получить значение ячейки из формулы в Excel с помощью VBA?
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.