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

Вход

Регистрация

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

 

= Мир MS Excel/Выполнить код VBA по событию - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, китин  
Мир MS Excel » Вопросы и решения » Excel и другие приложения » Access » Выполнить код VBA по событию
Выполнить код VBA по событию
RAN Дата: Понедельник, 11.03.2019, 19:39 | Сообщение № 1
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Мяв.
Заинтересовался вопросом, как в Аксессе выполнить VBA процедуру по событию.
Событийный макрос к таблице привязал, VBA код вставил. А дальше тупик.
Аналог в Excel выглядит так
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, [b2:b5]) Is Nothing Then
        Target.Next = 2 * Target
    ElseIf Not Intersect(Target, [c2:c5]) Is Nothing Then
        test
    End If
End Sub

Sub test()
    MsgBox "Мяу!"
End Sub
[/vba]
Вопрос не практического, а чисто познавательного плана.
К сообщению приложен файл: Database4.rar (16.6 Kb) · t1.xlsm (13.7 Kb)


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеМяв.
Заинтересовался вопросом, как в Аксессе выполнить VBA процедуру по событию.
Событийный макрос к таблице привязал, VBA код вставил. А дальше тупик.
Аналог в Excel выглядит так
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, [b2:b5]) Is Nothing Then
        Target.Next = 2 * Target
    ElseIf Not Intersect(Target, [c2:c5]) Is Nothing Then
        test
    End If
End Sub

Sub test()
    MsgBox "Мяу!"
End Sub
[/vba]
Вопрос не практического, а чисто познавательного плана.

Автор - RAN
Дата добавления - 11.03.2019 в 19:39
Pelena Дата: Понедельник, 11.03.2019, 20:06 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 19182
Репутация: 4420 ±
Замечаний: ±

Excel 365 & Mac Excel
Так работает же.
Если ввести в Столбец3 любое число и нажать Enter, получим Столбец2*3, как заказывали

===================================================
А если надо выполнить test(), надо сделать его функцией, а затем выбрать макрокоманду ЗадатьЛокПеременную и присвоить ей test()


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеТак работает же.
Если ввести в Столбец3 любое число и нажать Enter, получим Столбец2*3, как заказывали

===================================================
А если надо выполнить test(), надо сделать его функцией, а затем выбрать макрокоманду ЗадатьЛокПеременную и присвоить ей test()

Автор - Pelena
Дата добавления - 11.03.2019 в 20:06
krosav4ig Дата: Понедельник, 11.03.2019, 20:44 | Сообщение № 3
Группа: Друзья
Ранг: Старожил
Сообщений: 2347
Репутация: 989 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Дратути.
Как вариант, пользовать ЗадатьЛокПеременную
меняем Sub на Function и
В макросах (Создание>Макрос) для запуска vba кода (тоже должна быть функция) есть ЗапускПрограммы
К сообщению приложен файл: 5440184.png (12.5 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Понедельник, 11.03.2019, 20:49
 
Ответить
СообщениеДратути.
Как вариант, пользовать ЗадатьЛокПеременную
меняем Sub на Function и
В макросах (Создание>Макрос) для запуска vba кода (тоже должна быть функция) есть ЗапускПрограммы

Автор - krosav4ig
Дата добавления - 11.03.2019 в 20:44
RAN Дата: Понедельник, 11.03.2019, 21:20 | Сообщение № 4
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Мурси.
То, что искал. Про функцию уже догадался, не мог сообразить, куда ее воткнуть.
А где про макрокоманды почитать поподробнее? А то F1 не помогает, а поиск выдает не то, что ищу.


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеМурси.
То, что искал. Про функцию уже догадался, не мог сообразить, куда ее воткнуть.
А где про макрокоманды почитать поподробнее? А то F1 не помогает, а поиск выдает не то, что ищу.

Автор - RAN
Дата добавления - 11.03.2019 в 21:20
krosav4ig Дата: Понедельник, 11.03.2019, 22:27 | Сообщение № 5
Группа: Друзья
Ранг: Старожил
Сообщений: 2347
Репутация: 989 ±
Замечаний: 0% ±

Excel 2007,2010,2013


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
СообщениеДействия макросов Access (Справочник по Access для разработчиков)

Автор - krosav4ig
Дата добавления - 11.03.2019 в 22:27
RAN Дата: Понедельник, 11.03.2019, 23:21 | Сообщение № 6
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Благодарствуйте.


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

Автор - RAN
Дата добавления - 11.03.2019 в 23:21
Мир MS Excel » Вопросы и решения » Excel и другие приложения » Access » Выполнить код VBA по событию
  • Страница 1 из 1
  • 1
Поиск:

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