Страницы: 1
RSS
Назначить горячую клавишу только Ctrl
 
Можно назначить макрос только на кнопку контрол? Этим способом:
Код
Private Sub Workbook_Open()
Application.OnKey "{^}", "Макрос"
End Sub

не работает. Подозреваю что кнопку надо как то назначать через WinApi.
 
Плохая идея -  назначать уже назначенным
 
Ну как бы я хочу не совсем назначить на нее макрос а отключать ее на время выполнения макроса. На листе есть таблица, каждая ячейка в ней-кнопка с макросом, который закрашивает эту ячейку. Задача - чтобы при нажатии кнопки в то время как нажат Ctrl окрашивалась не только одна ячейка, а часть диапазона. Задача эта реализована только с кнопкой Tab, а если в место Tab назначить Ctrl, то при наведении на кнопку с макросом и нажатии Ctrl курсор меняется на стрелку вместо указательного пальца и нажать на кнопку с макросом становится не возможным. Поэтому надо что бы только в данной книге Ctrl не выполнял свою предназначенную excel функцию. он в этой книге вообще не нужен кроме как определять событие этой кнопки.
 
Цитата
OSA913 написал:
он в этой книге вообще не нужен
ну да. Это утверждение основано, надеюсь, на данных опроса всех пользователей, которые будут работать с книгой? Например, для печати Ctrl+P, копирования данных, вставки/удаления/скрытия/отображения, просмотр/изменение форматов ячеек и кучи других удобных сочетаний с этой клавишей. А так же Ctrl+Brek
Я бы на Вашем месте не делал таких "удобств", а подошел бы к вопросу более творчески. Всегда помните, что к таким клавишам многие привыкают взамен использования мыши, даже если Вы считаете что это совсем не так. Моветон стандартные сочетания отключать и это используется в исключительных случаях(когда иначе ну никак вообще) или для заведомо корректной блокировки(тех же Ctrl+C, Ctrl+V для избежания копирования/вставки данных).
Цитата
OSA913 написал:
отключать ее на время выполнения макроса
а что, во время выполнения кто-то жмет на эту кнопку?
Цитата
OSA913 написал:
при нажатии кнопки в то время как нажат Ctrl окрашивалась не только одна ячейка, а часть диапазона
так и сделайте привязку с Selection_Change и флажку(вкл - окрашивать, выкл - нет). Зачем эти все заморочки с кнопочками в каждой ячейке? Что за тяга к созданию себе любимому сложностей?
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Благодарю за развернутый ответ. Решил оставить все как есть.

Цитата
Дмитрий(The_Prist) Щербаков написал:
Зачем эти все заморочки с кнопочками в каждой ячейке? Что за тяга к созданию себе любимому сложностей?
Кнопочки на защищенном листе защищают ячейки от случайного изменения пользователем значениий в ячейках, что приведет к ошибкам при выполнении некоторых макросов.
Изменено: OSA913 - 24.01.2020 20:51:31
 
Цитата
OSA913 написал:
Кнопочки на защищенном листе защищают ячейки
да ))) двойная защита )))
Страницы: 1
Наверх