Добрый день!
Прошу Вашей помощи в 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? нужно менять ссылки
вопрос о пошаговом вычислении формулы
Модератор: Naeel Maqsudov
Можете посмотреть вот этот близкий по духу и букве топик :
forum/viewtopic.php?t=2132&sid=e1a51e9d ... 37f5eddc44
forum/viewtopic.php?t=2132&sid=e1a51e9d ... 37f5eddc44
нет там ничего серьезного
сейчас проблема с evaluate - сыллки на другие листы книги и файлы - не вычисляет
а кнопка - вычислить - считает все на УРА
как быть
сейчас проблема с evaluate - сыллки на другие листы книги и файлы - не вычисляет
а кнопка - вычислить - считает все на УРА
как быть
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")