Події в Excel

Термін "Подія Excel» використовується для позначення певних дій, які користувач виконує в Excel. Наприклад, коли користувач перемикає аркуш робочої книги, це є подією. Введення даних у комірку або збереження книги також є подіями Excel.

Події можна зв’язати з робочим аркушем Excel, діаграмами, робочою книгою або безпосередньо з самою програмою Excel. Програмісти можуть створити код VBA, який виконуватиметься автоматично, коли відбудеться подія.

Наприклад, щоб макрос запускався щоразу, коли користувач перемикає робочий аркуш у книзі Excel, потрібно створити код VBA, який запускатиметься щоразу, коли відбудеться подія SheetActivate робочий зошит.

І якщо ви хочете, щоб макрос запускався кожного разу, коли ви переходите до певного аркуша (наприклад, Sheet1), тоді код VBA має бути пов’язаний із подією активувати для цього аркуша.

Код VBA, призначений для обробки подій Excel, потрібно розмістити у відповідному аркуші або об’єкті робочої книги у вікні редактора VBA (редактор можна відкрити, клацнувши Alt + F11). Наприклад, код, який слід виконувати щоразу, коли на рівні аркуша відбувається певна подія, слід розмістити у вікні коду для цього аркуша. Це показано на малюнку:

У редакторі Visual Basic можна переглянути набір усіх подій Excel, доступних на рівні книги, аркуша або діаграми. Відкрийте вікно коду для вибраного об’єкта та виберіть тип об’єкта зі спадного меню ліворуч у верхній частині вікна. Праве розкривне меню у верхній частині вікна покаже події, визначені для цього об’єкта. На малюнку нижче показано список подій, пов’язаних із робочим аркушем Excel:

Події в Excel

Натисніть на потрібну подію в правому спадному меню, і процедура буде автоматично вставлена ​​у вікно коду для цього об'єкта нижче. на чолі процедури нижче Excel автоматично вставляє необхідні аргументи (якщо такі є). Залишається лише додати код VBA, щоб визначити, які дії має виконати процедура, коли виявлено потрібну подію.

Приклад

У наступному прикладі кожен раз, коли вибирається комірка B1 на аркуші Sheet1 з’явиться вікно повідомлення.

Щоб виконати цю дію, нам потрібно використовувати подію робочого аркуша Selection_Change, що відбувається кожного разу, коли змінюється вибір клітинки або діапазону клітинок. функція Selection_Change отримує як аргумент Мета об'єкт -. Таким чином ми дізнаємося, який діапазон клітинок було виділено.

Event Selection_Change відбувається з будь-яким новим вибором. Але нам потрібно, щоб набір дій виконувався лише тоді, коли комірка виділена B1. Для цього ми будемо відстежувати подію лише в зазначеному діапазоні Мета. Як це реалізовано в коді програми, показано нижче:

«Код для відображення вікна повідомлення, коли вибрано комірку B1» на поточному аркуші. Private Sub Worksheet_SelectionChange(ByVal Target As Range) 'Перевірте, чи вибрано комірку B1 If Target.Count = 1 And Target.Row = 1 And Target.Column = 2 Then 'Якщо комірку B1 вибрано, виконайте наступне MsgBox "У вас є вибрано клітинку B1" End If End Sub

залишити коментар