Какая ф-я обрабатывает двойной клик?
В частности при двойном клике на защищенной ячейке "кто-то" ругается соответствующими словами о невозможности активизировать эту ячейку.
(т.е. войти в режим ее редактирования). В то же время одиночным кликом позиционироваться в этой ячейке можно...
Код:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Excel.Range, Cancel As Boolean)
Но есть еще один вопросик:
При ручной установке защиты листа можно снять крыжик в опции разрешения позиционирования в защищенных ячейках, тем самым запретив такое позиционирование. А как это сделать программно?
В описании команды Protect вразумительного ответа не нашел...
1. Запустите запись макроса
2. Сделайте вручную то, что бы вы хотели сделать программно (например, снимите защиту)
3. Выключите запись макроса
4. Перейдите в редактор сценариев Visual Basic.
5. Радуйтесь увиденным.
Но в данном конкретном случае Ваш совет пригодился, СПАСИБО!
Хотя более привычно было бы обращение к справочнику, а там должна быть ссылка типа "смотри также", если в описании искомой команды (функции, события) информации не достаточно... Ну да, бог с ними, с мелкомягкими, пусть это будет на их совести.
А к слову сказанному, еще вопросик "на засыпку"...
Существует ли способ программного управления событием изменения значения в ячейке без предварительного изменения самого этого значения? Грубо говоря, можно ли вызвать программно процедуру (или ее аналог) типа
Worksheet_Change(ByVal oT As Range) таким образом, чтобы при этом автоматически отработали другие события, связанные с изменением значения в ячейке (например, TextBox1_Change()) ?
В частности, параметр lC в процедуре
Worksheet_BeforeDoubleClick(ByVal oT As Range, lC As Boolean)
позволяет управлять исполнением стандартной обработки двойного клика. А есть ли что то аналогичное в системе управления событиями Excel или подобное в процедуре
Worksheet_Change(ByVal oT As Range) ?
многабукаф.. ЧТо именно вам нужно? Конкретней - чего требуется достичь?
Цитата: SkyM@n
многабукаф.. ЧТо именно вам нужно? Конкретней - чего требуется достичь?
Да просто вроде сказано...
Надо перехватывать попытку изменения данных в ячейке до того, как выполнится стандартная обработка и далее уже решать самому продолжать стандартную обработку или ограничиться нестандартной.
Не знаю, застали вы или нет времена классического (не ООП) программирования, например систему CLIPPER... Так вот там была такая возможность с использованием кодоблока When в конструкции @...GET.
Может, можно решить задачу иным путем?
ЗЫ. Еще где-то 5.25-дюймовки с надписью Clipper валяются...
И на том, спасибо!