Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Запуск макроса по даблклику на определённую ячейку - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Запуск макроса по даблклику на определённую ячейку (Макросы Sub)
Запуск макроса по даблклику на определённую ячейку
futher Дата: Вторник, 08.10.2013, 16:18 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 26
Репутация: 0 ±
Замечаний: 20% ±

Всем доброго времени суток!
Собсно сабж:
Имеем макрос JP_Calendar (многим наверняка известный)
Имеем лист excel на который пытаемся его внедрить в семи различных ячейках(значения дат во всех ячейках разные).
В исходном коде макроса его запуск осуществляется по нажатию кнопки.
В нашем случае имеется желание запускать его по даблклику на любой из этих 7-ми ячеек(при входе в режим редактирования этих ячеек).
Насколько я понимаю необходимо в коде макроса прописать какой-то аргумент или процедуру,
потому что на данный момент, запущенный макрос сразу работает во всех нужных ячейках, и достаточно просто автоматизировать саму процедуру запуска макроса. Как это сделать - ума не приложу (поиск не помог).
Буду крайне признателен за любую помощь!


Сообщение отредактировал futher - Вторник, 08.10.2013, 16:19
 
Ответить
СообщениеВсем доброго времени суток!
Собсно сабж:
Имеем макрос JP_Calendar (многим наверняка известный)
Имеем лист excel на который пытаемся его внедрить в семи различных ячейках(значения дат во всех ячейках разные).
В исходном коде макроса его запуск осуществляется по нажатию кнопки.
В нашем случае имеется желание запускать его по даблклику на любой из этих 7-ми ячеек(при входе в режим редактирования этих ячеек).
Насколько я понимаю необходимо в коде макроса прописать какой-то аргумент или процедуру,
потому что на данный момент, запущенный макрос сразу работает во всех нужных ячейках, и достаточно просто автоматизировать саму процедуру запуска макроса. Как это сделать - ума не приложу (поиск не помог).
Буду крайне признателен за любую помощь!

Автор - futher
Дата добавления - 08.10.2013 в 16:18
SkyPro Дата: Вторник, 08.10.2013, 16:21 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 1206
Репутация: 255 ±
Замечаний: 0% ±

2010
В модуль книги:
[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]

ЗЫ: Пока писал и редактировал сообщение, уже "последовало уточнение".


skypro1111@gmail.com

Сообщение отредактировал SkyPro - Вторник, 08.10.2013, 16:25
 
Ответить
СообщениеВ модуль книги:
[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
Дата добавления - 08.10.2013 в 16:21
futher Дата: Вторник, 08.10.2013, 17:09 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 26
Репутация: 0 ±
Замечаний: 20% ±

ого! вот это оперативность! блиц-ответ за 3 минуты :D

отлично, теперь всё работает, премного благодарен!
PS: +1 в репу SkyPro
 
Ответить
Сообщениеого! вот это оперативность! блиц-ответ за 3 минуты :D

отлично, теперь всё работает, премного благодарен!
PS: +1 в репу SkyPro

Автор - futher
Дата добавления - 08.10.2013 в 17:09
RAN Дата: Вторник, 08.10.2013, 17:14 | Сообщение № 4
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Замените процедуру в коде на
[vba]
Код
Sub Auto_Open()
       arrFrmSetup = Array(True, False)   ' начальная установка чек-боксов календаря _
                      'arrFrmSetup(0) = True => "Ввод двойным щелчком" _
                      'arrFrmSetup(1) = False >= "Не прятать после ввода"
       ThisWbk.Reload_Appl
       'Call CalendarMenuCreate
End Sub
[/vba]
И будет счастье.
А сейчас календарь начинает работать только после вызова его кнопкой.


Быть или не быть, вот в чем загвоздка!

Сообщение отредактировал RAN - Вторник, 08.10.2013, 19:32
 
Ответить
СообщениеЗамените процедуру в коде на
[vba]
Код
Sub Auto_Open()
       arrFrmSetup = Array(True, False)   ' начальная установка чек-боксов календаря _
                      'arrFrmSetup(0) = True => "Ввод двойным щелчком" _
                      'arrFrmSetup(1) = False >= "Не прятать после ввода"
       ThisWbk.Reload_Appl
       'Call CalendarMenuCreate
End Sub
[/vba]
И будет счастье.
А сейчас календарь начинает работать только после вызова его кнопкой.

Автор - RAN
Дата добавления - 08.10.2013 в 17:14
futher Дата: Вторник, 08.10.2013, 18:25 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 26
Репутация: 0 ±
Замечаний: 20% ±

уточнений не будет :)
MsgBox "вы сделали даблклик!"

MsgBox мне совсем не нужен, я через Call всё запустил прекрасно, но можт кому кроме меня пригодится...

Не могли бы Вы пояснить про
только в определенном диапазоне
?
Сейчас, насколько я понимаю, макрос работает везде где формат ячейки "Дата", а так он будет работать на всех ячейках в заданном диапазоне?
 
Ответить
Сообщениеуточнений не будет :)
MsgBox "вы сделали даблклик!"

MsgBox мне совсем не нужен, я через Call всё запустил прекрасно, но можт кому кроме меня пригодится...

Не могли бы Вы пояснить про
только в определенном диапазоне
?
Сейчас, насколько я понимаю, макрос работает везде где формат ячейки "Дата", а так он будет работать на всех ячейках в заданном диапазоне?

Автор - futher
Дата добавления - 08.10.2013 в 18:25
futher Дата: Вторник, 08.10.2013, 18:30 | Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 26
Репутация: 0 ±
Замечаний: 20% ±

А сейчас календарь начинает работать только после вызова его кнопкой


Спасибо огромное)
Ещё вопрос: как сделать чтобы параметр
"прятать после ввода"
был по умолчанию всегда включен?
 
Ответить
Сообщение
А сейчас календарь начинает работать только после вызова его кнопкой


Спасибо огромное)
Ещё вопрос: как сделать чтобы параметр
"прятать после ввода"
был по умолчанию всегда включен?

Автор - futher
Дата добавления - 08.10.2013 в 18:30
SkyPro Дата: Вторник, 08.10.2013, 18:37 | Сообщение № 7
Группа: Друзья
Ранг: Старожил
Сообщений: 1206
Репутация: 255 ±
Замечаний: 0% ±

2010
Подозреваю, что так:[vba]
Код
arrFrmSetup = Array(True, True)
[/vba]


skypro1111@gmail.com
 
Ответить
СообщениеПодозреваю, что так:[vba]
Код
arrFrmSetup = Array(True, True)
[/vba]

Автор - SkyPro
Дата добавления - 08.10.2013 в 18:37
RAN Дата: Вторник, 08.10.2013, 19:30 | Сообщение № 8
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Подозреваю

:D


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение
Подозреваю

:D

Автор - RAN
Дата добавления - 08.10.2013 в 19:30
SkyPro Дата: Вторник, 08.10.2013, 21:07 | Сообщение № 9
Группа: Друзья
Ранг: Старожил
Сообщений: 1206
Репутация: 255 ±
Замечаний: 0% ±

2010
Просто проверять нет желания :)
Поэтому только подозрение.


skypro1111@gmail.com
 
Ответить
СообщениеПросто проверять нет желания :)
Поэтому только подозрение.

Автор - SkyPro
Дата добавления - 08.10.2013 в 21:07
futher Дата: Вторник, 08.10.2013, 21:33 | Сообщение № 10
Группа: Пользователи
Ранг: Новичок
Сообщений: 26
Репутация: 0 ±
Замечаний: 20% ±

Уважаемый SkyPro!
Ваши подозрения оправдались :D
 
Ответить
СообщениеУважаемый SkyPro!
Ваши подозрения оправдались :D

Автор - futher
Дата добавления - 08.10.2013 в 21:33
koyaanisqatsi Дата: Четверг, 19.05.2016, 15:58 | Сообщение № 11
Группа: Проверенные
Ранг: Ветеран
Сообщений: 713
Репутация: 15 ±
Замечаний: 0% ±

Excel 2010
RAN, У меня почему-то время от времени слетают эти настройки хотя в коде написано все правильно.

[vba]
Код

Sub Auto_Open()
   arrFrmSetup = Array(False, True)      ' начальная установка чек-боксов календаря _
                    arrFrmSetup(0) = True => "Ввод двойным щелчком" _
                    arrFrmSetup(1) = False >= "Не прятать после ввода"
                    
'   Call CalendarMenuCreate
End Sub
[/vba]

PS: Разобрался. Надо не просто в коде поменять. Надо в форме на в этих элементах переключить галочки тогда все ок работает.
 
Ответить
СообщениеRAN, У меня почему-то время от времени слетают эти настройки хотя в коде написано все правильно.

[vba]
Код

Sub Auto_Open()
   arrFrmSetup = Array(False, True)      ' начальная установка чек-боксов календаря _
                    arrFrmSetup(0) = True => "Ввод двойным щелчком" _
                    arrFrmSetup(1) = False >= "Не прятать после ввода"
                    
'   Call CalendarMenuCreate
End Sub
[/vba]

PS: Разобрался. Надо не просто в коде поменять. Надо в форме на в этих элементах переключить галочки тогда все ок работает.

Автор - koyaanisqatsi
Дата добавления - 19.05.2016 в 15:58
Alex_ST Дата: Пятница, 20.05.2016, 09:53 | Сообщение № 12
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3209
Репутация: 609 ±
Замечаний: 0% ±

2003
Что-то я не понял, что тут вдруг за оффтоп?
koyaanisqatsi, почему вопросы из топика JP_Сalendar Вы задаёте одновременно и здесь, и там?
Я, конечно, понимаю, что начал оффтоп в этом посте RAN, но это было явно по ошибке и 3 года назад.
Но зачем сейчас-то продолжать?
[moder]Правильно! Так его! Распустились, понимаешь! Бардак в стране на форуме!
А если серьезно - то действительно, полностью согласен с Алексеем.



С уважением,
Алексей
MS Excel 2003 - the best!!!


Сообщение отредактировал _Boroda_ - Пятница, 20.05.2016, 10:01
 
Ответить
СообщениеЧто-то я не понял, что тут вдруг за оффтоп?
koyaanisqatsi, почему вопросы из топика JP_Сalendar Вы задаёте одновременно и здесь, и там?
Я, конечно, понимаю, что начал оффтоп в этом посте RAN, но это было явно по ошибке и 3 года назад.
Но зачем сейчас-то продолжать?
[moder]Правильно! Так его! Распустились, понимаешь! Бардак в стране на форуме!
А если серьезно - то действительно, полностью согласен с Алексеем.

Автор - Alex_ST
Дата добавления - 20.05.2016 в 09:53
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Запуск макроса по даблклику на определённую ячейку (Макросы Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!