Събития в 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 появява се поле за съобщение.

За да извършим това действие, трябва да използваме събитието на работния лист Избор_Промяна, което се случва всеки път, когато изборът на клетка или диапазон от клетки се промени. функция Избор_Промяна получава като аргумент Цел обект -. Така разбираме кой диапазон от клетки е избран.

събитие Избор_Промяна възниква при всеки нов избор. Но трябва наборът от действия да се изпълнява само когато клетката е избрана 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

Оставете коментар