Страница: 1 |
Страница: 1 |
Вопрос: Выполнить формулу
Добавлено: 16.11.08 19:50
Автор вопроса: Nytrogen
Возможно ли каким-то образом в VBA вычислить значение формулы рабочего листа? Например, что-то типа MsgBox "=Sheet1!A1 + 5"
Ответы
Всего ответов: 2
Номер ответа: 1
Автор ответа:
Nytrogen
Вопросов: 18
Ответов: 186
Профиль | | #1
Добавлено: 16.11.08 20:19
Вроде нашёл.
Однако, почему-то метод Evaluate не позволяет прочитать значение из закрытой рабочей книги. Например, такое выражение генерирует ошибку Type Mismatch:
Аналогичная формула в ячейке работает нормально. У кого какие идеи?
Номер ответа: 2
Автор ответа:
Nytrogen
Вопросов: 18
Ответов: 186
Профиль | | #2
Добавлено: 16.11.08 20:34
А в прочем и на этот вопрос я уже ответил сам:
Таким образом, используя метод Application.ExecuteExcel4Macro и стиль ссылок R1C1, мы можем читать значения из закрытой рабочей книги. Записывать значения аналогичным образом не прокатывает, тут уже нужно открывать эту самую книгу.
Что касается метода Application.Evaluate, то он полезен в случае, когда нужно выполнить выражение, представленное строкой, например,
Спасибо за внимание, может инфа будет полезной