Всем доброго времени суток! Собсно сабж: Имеем макрос JP_Calendar (многим наверняка известный) Имеем лист excel на который пытаемся его внедрить в семи различных ячейках(значения дат во всех ячейках разные). В исходном коде макроса его запуск осуществляется по нажатию кнопки. В нашем случае имеется желание запускать его по даблклику на любой из этих 7-ми ячеек(при входе в режим редактирования этих ячеек). Насколько я понимаю необходимо в коде макроса прописать какой-то аргумент или процедуру, потому что на данный момент, запущенный макрос сразу работает во всех нужных ячейках, и достаточно просто автоматизировать саму процедуру запуска макроса. Как это сделать - ума не приложу (поиск не помог). Буду крайне признателен за любую помощь!
Всем доброго времени суток! Собсно сабж: Имеем макрос JP_Calendar (многим наверняка известный) Имеем лист excel на который пытаемся его внедрить в семи различных ячейках(значения дат во всех ячейках разные). В исходном коде макроса его запуск осуществляется по нажатию кнопки. В нашем случае имеется желание запускать его по даблклику на любой из этих 7-ми ячеек(при входе в режим редактирования этих ячеек). Насколько я понимаю необходимо в коде макроса прописать какой-то аргумент или процедуру, потому что на данный момент, запущенный макрос сразу работает во всех нужных ячейках, и достаточно просто автоматизировать саму процедуру запуска макроса. Как это сделать - ума не приложу (поиск не помог). Буду крайне признателен за любую помощь!futher
Сообщение отредактировал futher - Вторник, 08.10.2013, 16:19
Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean) MsgBox "вы сделали даблклик!" ' тут просто имя вашего макроса, или Call myMacro_name End Sub
[/vba]
(думаю, что далее может последовать "уточнение", что нужно срабатывание только в определенном диапазоне..) Если нужно только в определенном диапазоне, тогда так: [vba]
Код
Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean) If Not Intersect(Target, Range("a1:e10")) Is Nothing Then MsgBox "вы сделали даблклик!" End If End Sub
[/vba]
ЗЫ: Пока писал и редактировал сообщение, уже "последовало уточнение".
В модуль книги: [vba]
Код
Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean) MsgBox "вы сделали даблклик!" ' тут просто имя вашего макроса, или Call myMacro_name End Sub
[/vba]
(думаю, что далее может последовать "уточнение", что нужно срабатывание только в определенном диапазоне..) Если нужно только в определенном диапазоне, тогда так: [vba]
Код
Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean) If Not Intersect(Target, Range("a1:e10")) Is Nothing Then MsgBox "вы сделали даблклик!" End If End Sub
[/vba]
ЗЫ: Пока писал и редактировал сообщение, уже "последовало уточнение".SkyPro
skypro1111@gmail.com
Сообщение отредактировал SkyPro - Вторник, 08.10.2013, 16:25
Что-то я не понял, что тут вдруг за оффтоп? koyaanisqatsi, почему вопросы из топика JP_Сalendar Вы задаёте одновременно и здесь, и там? Я, конечно, понимаю, что начал оффтоп в этом постеRAN, но это было явно по ошибке и 3 года назад. Но зачем сейчас-то продолжать? [moder]Правильно! Так его! Распустились, понимаешь! Бардак в стране на форуме! А если серьезно - то действительно, полностью согласен с Алексеем.
Что-то я не понял, что тут вдруг за оффтоп? koyaanisqatsi, почему вопросы из топика JP_Сalendar Вы задаёте одновременно и здесь, и там? Я, конечно, понимаю, что начал оффтоп в этом постеRAN, но это было явно по ошибке и 3 года назад. Но зачем сейчас-то продолжать? [moder]Правильно! Так его! Распустились, понимаешь! Бардак в стране на форуме! А если серьезно - то действительно, полностью согласен с Алексеем.Alex_ST
С уважением, Алексей MS Excel 2003 - the best!!!
Сообщение отредактировал _Boroda_ - Пятница, 20.05.2016, 10:01