В Экселе легко вводить текущую дату сочетанием клавиш «Ctrl+;». Если я откладываю ввод текущих данных на другой день начинается сплошное неудобство.
Как вводить заданную дату сочетанием клавиш Ctrl+; (точка с запятой на основном ряде клавиатуры - там, где буква Ж)? Например, включил 25 число - штампуем 25, включил 7 число - штампуем 7-е. Спецы по макросам и реестрам - помогите.
Перестраивать конечно можно но это не решение вопроса. Мне кажется, удобно будет специальной кнопкой на листе или панели.
Переназначить действие для сочетания клавиш можно с помощью OnKey:
Global MyDate As Date
Sub RunMe()
Application.OnKey "^+4", "MDate"
MsgBox "Хот кей переопределён."
End Sub
Public Sub MDate()
If Not CBool(MyDate) Then MyDate = CDate(InputBox("Укажите дату", , Format(Now, "dd.MM")))
ActiveCell.Value = MyDate
End Sub
Спасибо, уважаемый Шпец!
Дело сдвинулось с места. Одно неудобство это то что "хот кей" переопределяется только при сочетании клавиш для русской транскрипции - Ctrl+Shift+; - самом неудобном сочетании клавиш, так как двоеточие приходиться нажимать на ряду, где находиться клавиша "4" и "$". При этом используются аж ТРИ клавиши.
Нельзя ли использовать сочетание ДВУХ клавиш для данного макроса как: "Ctrl+;", - двоеточие находиться на клавише "ж".
Примечание: основной ряд клавиатуры - "ф ы в а п р о л д ж "?
Цитата: Anatoli Анатолий от 06.08.2009, 22:35
Спасибо, уважаемый Шпец!
Нельзя ли использовать сочетание ДВУХ клавиш для данного макроса как: "Ctrl+;", - двоеточие находиться на клавише "ж".
Пожалуйста.
Какое хочешь сочетание, такое и используйте. В данном случае
"^+4" надо поменять на
"^;" (работает на любой раскладке).