вопрос о пошаговом вычислении формулы

Весь MS Office, программирование на Visual Basic for Applications и MS VB

Модератор: Naeel Maqsudov

Ответить
deep
Сообщения: 2
Зарегистрирован: 25 янв 2005, 10:46

Добрый день!

Прошу Вашей помощи в VBA для MS Excel 2000!

Вопрос:
Мне необходимо сделать программку по вычислению формул в ячейках Excel состоящих из нескольких ссылок на разные книги - аналог меню \вычислить формулу\ в Excel.

Необходимо для проверки огромных формул и поиска ошибок
Мне нужно наглядно видеть данные(результаты вычисления ссылок) -формулы состоят из кучи ссылок на разные ячейки в разных файлах

Я разбиваю формулу на части в процедуре VBA, затем к каждой части формулы делаю evaluate и получаю результаты, но если ссылка на другой лист, то evaluate не срабатывает

вопрос - есть ли уже готовое решение на VBA или как получить результаты вычисления ссылки на ячейки в другом файле на VBA

Пример:
=A1+A2+'C:\Пример\tst.xls'Лист1!A1
разбиваю на x="=A1",x="=A2" - evaluate(x) - true
x="'C:\Пример\tst.xls'Лист1!A1"
evaluate(x) - false


и еще.. есть пункт меню связи в Excel. как до него добраться через VBA? нужно менять ссылки
и еще.. есть пункт меню связи в Excel. как до него добраться через VBA? нужно менять ссылки
pashulka
Сообщения: 831
Зарегистрирован: 24 ноя 2004, 03:46
Контактная информация:

Можете посмотреть вот этот близкий по духу и букве топик :

forum/viewtopic.php?t=2132&sid=e1a51e9d ... 37f5eddc44
deep
Сообщения: 2
Зарегистрирован: 25 янв 2005, 10:46

нет там ничего серьезного

сейчас проблема с evaluate - сыллки на другие листы книги и файлы - не вычисляет
а кнопка - вычислить - считает все на УРА

как быть
Andruha
Сообщения: 6
Зарегистрирован: 17 дек 2004, 12:02

2 Deep
А как вы разбивали формулку на смысловые части?
Аватара пользователя
Naeel Maqsudov
Сообщения: 2570
Зарегистрирован: 20 фев 2004, 19:17
Откуда: Moscow, Russia
Контактная информация:

x="'C:\Пример\tst.xls'Лист1!A1"
evaluate(x) - false
Тут не опечатка? Квадратных скобок вокруг имени файла нет, а должны быть. (И одинарные кавычки не так стоят)
"['C:\Пример\tst.xls]Лист1'!A1"

Вообще-то не должно быть проблем с внешними ссылками.
Вот так работает отлично!

MsgBox Evaluate("'[Книга2]Лист1'!A1")
Ответить