![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Участник клуба
Регистрация: 28.06.2009
Сообщений: 1,950
|
![]()
Уважаемые профи,
возможно ли сделать следующее: при нажатии на некоторую комбинацию клавиш в данной ячейке для формулы появляется текст из примечания (сначала идет знак =, как для всех формул) , дальше его можно редактировать, а затем по нажатию еще одной комбинации введенная формула появляется в примечании без проверки на правильность ввода согласно синтаксису Эксела? После этого сама ячейка остается пустой, либо если там было какое-то значение или текст, сохраняется. |
![]() |
![]() |
![]() |
#2 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
![]()
Конечно, возможно.
Назначьте этому макросу нужное сочетание клавиш: Код:
|
![]() |
![]() |
![]() |
#3 |
Участник клуба
Регистрация: 28.06.2009
Сообщений: 1,950
|
![]()
Спасибо, но немного не так нужно:
допустим, в примечании у нас был текст "A1+3" (именно это я имел в виду здесь под формулами в примечании, т.е. названия ячеек). Нужно при нажатии на клавишу, чтобы становилась активной сама ячейка, как при вводе формулы, т.е. как будто сейчас пишешь эту формулу - и появляется "=A1+3". Далее после завершения ввода по нажатию комбинации проверка правильности формулы не проводится, а введенный текст попадает в примечание вместо старого. Можете так сделать? Можно по какой-то незанятой комбинации сделать активной ячейку и по другой незанятой комбинации записать измененную формулу. Последний раз редактировалось motorway; 02.07.2009 в 00:10. |
![]() |
![]() |
![]() |
#4 | ||
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
![]() Цитата:
Что активно на момент запуска макроса? Примечание? Или надо поставить перевести ячейку в режим редактирования? (как при вводе любого символа в ячейку, или нажатии F2) Сделать-то это можно, но в Вашем случае это не поможет. Цитата:
Пробовал, но не получилось. В любом случае (даже если это получится), формула затрёт старое значение в ячейке. Его, конечно, можно запомнить перед запуском макроса, но, как мне кажется, надо искать другой способ решения проблемы. Дело в том, что когда ячейка находится в режиме редактирования, Excel перестаёт реагировать на внешние раздражители (макросы, и т.п.) А проверка формул встроена в Excel, и она в любом случае запустится (перехватить нажатие Enter по завершению ввода формулы в ячейку не получится, а это необходимо, чтобы не допустить попадание неправильной формулы в ячейку) Проверку отдельных ошибок в формулах отключить можно - для этого используется свойство Application.ErrorCheckingOptions Но, тем не менее, это не позволит ввести в ячейку абсолютно любой текст вместо формулы. (например, не получится без лишних вопросов ввести в ячейку символы =" ) Другое дело, если формулы будут вводиться всегда корректные - тогда можно попытаться что-нибудь изобрести. Есть и другой вариант - при запуске макроса рисовать поверх ячейки текстовое поле (под размер выделенной ячейки) С виду это будет выглядеть примерно так, будто бы редактирование осуществляется непосредственно в самой ячейке. Зачем Вам вообще всё это нужно? |
||
![]() |
![]() |
![]() |
#5 |
Участник клуба
Регистрация: 28.06.2009
Сообщений: 1,950
|
![]()
Я имел в виду все это делать для активной ячейки.
Нужно для того, что мне нужно хранить для каждой ячейки формулы, которые могут быть отличны от синтаксиса Эксела или их м.б. несколько. Но при этом нужно иметь возможность быстрого изменения формулы, в том числе изменения названий ячеек в формуле с возможностями Эксела (ввод названия при нажатии мышкой). Если просто их писать в формуле, будет ошибка. Т.е. нельзя программно сделать, чтобы Эксел запомнил введенную в строку формулу, а далее как будто пользователь нажал Отмена, но при этом формула переместилась в примечание? Или хотя бы нужно сделать функцию, чтобы можно было вставить текст из примечания в формулу, чтобы она оставалась активной для ввода. Последний раз редактировалось motorway; 02.07.2009 в 01:29. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
адресация в формулах | andrewx | Microsoft Office Excel | 2 | 29.06.2009 17:44 |
корректное отображение импортированных данных в формулах Excel | petrov_ja | Помощь студентам | 1 | 03.03.2009 00:27 |
Логические подстановки в формулах/функциях | vprima | Microsoft Office Excel | 5 | 16.02.2009 16:42 |
Автозамена в формулах | debilder | Microsoft Office Excel | 1 | 10.02.2008 02:57 |