Страница 1 из 1

Вычисление выражения

Добавлено: 13 окт 2004, 17:29
Игорь Акопян
Есть 2 ячейки. В одной текст вида "2+3*5,5", надо в другую получить результат, причём хотелось бы без нажатия кнопок. Т. е. в одну ячейку вписывается формула, а в другой автоматом результат... Может было уже, тогда извиняюсь.

Добавлено: 13 окт 2004, 23:56
ShiZa
хм. а если в процессе образовалось 2*(3-1 и скобка еще не закрыта? что должно быть? или что-нить в этом роде.
если это Excel, то можно повесить на смену ячейки, а если не он, то где это реализовать надо? вообще такая задача решается с помощью конечного детерминированного автомата, например. могу написать подробнее, если хочется.

Добавлено: 14 окт 2004, 08:44
Naeel Maqsudov
В MSExcel уже встроен автомат, надо его использовать!
Игорь, поставьте перед выражением знак = и все будет рассчитано после нажатия Enter.

Если нужно чтобы формула оставалась видна, то на событие Change можно написать макрос, который в соседнюю ячейку вписывает то же самое, но со знаком "=" впереди.
причём хотелось бы без нажатия кнопок.
Ну уж совсем без нажатия никак не выйдет. Ячейка редактируется, и по нажатию Enter все рассчитывается. Только так.

Можно еще создать форму, которая работает как OnLine калькулятор.
Там тоже понадобится один макрос на изменение текста в текстовом поле.
Тогда действительно выражение будет вычисляться по мере его набора.

Добавлено: 15 окт 2004, 16:32
Игорь Акопян
Naeel Maqsudov писал(а):поставьте перед выражением знак = и все будет рассчитано после нажатия Enter.
:D Не ну я ж не настолько чайник.
Суть ещё более автоматизировать юзерам работу, сейчас человек вводит в ячейку формулу, потом давит комбинацию на вызов макроса, который как раз и копирует со знаком "=" в соседнюю ячейку.
А за идею спасибо, про OnChange я недопёр...