Вычисление выражения
Модератор: Naeel Maqsudov
- Игорь Акопян
- Сообщения: 1440
- Зарегистрирован: 13 окт 2004, 17:11
- Откуда: СПБ
- Контактная информация:
Есть 2 ячейки. В одной текст вида "2+3*5,5", надо в другую получить результат, причём хотелось бы без нажатия кнопок. Т. е. в одну ячейку вписывается формула, а в другой автоматом результат... Может было уже, тогда извиняюсь.
хм. а если в процессе образовалось 2*(3-1 и скобка еще не закрыта? что должно быть? или что-нить в этом роде.
если это Excel, то можно повесить на смену ячейки, а если не он, то где это реализовать надо? вообще такая задача решается с помощью конечного детерминированного автомата, например. могу написать подробнее, если хочется.
если это Excel, то можно повесить на смену ячейки, а если не он, то где это реализовать надо? вообще такая задача решается с помощью конечного детерминированного автомата, например. могу написать подробнее, если хочется.
- Naeel Maqsudov
- Сообщения: 2570
- Зарегистрирован: 20 фев 2004, 19:17
- Откуда: Moscow, Russia
- Контактная информация:
В MSExcel уже встроен автомат, надо его использовать!
Игорь, поставьте перед выражением знак = и все будет рассчитано после нажатия Enter.
Если нужно чтобы формула оставалась видна, то на событие Change можно написать макрос, который в соседнюю ячейку вписывает то же самое, но со знаком "=" впереди.
Можно еще создать форму, которая работает как OnLine калькулятор.
Там тоже понадобится один макрос на изменение текста в текстовом поле.
Тогда действительно выражение будет вычисляться по мере его набора.
Игорь, поставьте перед выражением знак = и все будет рассчитано после нажатия Enter.
Если нужно чтобы формула оставалась видна, то на событие Change можно написать макрос, который в соседнюю ячейку вписывает то же самое, но со знаком "=" впереди.
Ну уж совсем без нажатия никак не выйдет. Ячейка редактируется, и по нажатию Enter все рассчитывается. Только так.причём хотелось бы без нажатия кнопок.
Можно еще создать форму, которая работает как OnLine калькулятор.
Там тоже понадобится один макрос на изменение текста в текстовом поле.
Тогда действительно выражение будет вычисляться по мере его набора.
- Игорь Акопян
- Сообщения: 1440
- Зарегистрирован: 13 окт 2004, 17:11
- Откуда: СПБ
- Контактная информация:
Naeel Maqsudov писал(а):поставьте перед выражением знак = и все будет рассчитано после нажатия Enter.

Суть ещё более автоматизировать юзерам работу, сейчас человек вводит в ячейку формулу, потом давит комбинацию на вызов макроса, который как раз и копирует со знаком "=" в соседнюю ячейку.
А за идею спасибо, про OnChange я недопёр...