Wydarzenia w Excelu

Określenie "Wydarzenie w Excelu» służy do wskazania określonych czynności wykonywanych przez użytkownika w Excelu. Na przykład, gdy użytkownik przełącza arkusz skoroszytu, jest to zdarzenie. Wprowadzanie danych do komórki lub zapisywanie skoroszytu to również zdarzenia programu Excel.

Zdarzenia można łączyć z arkuszem programu Excel, wykresami, skoroszytem lub bezpośrednio z samą aplikacją programu Excel. Programiści mogą tworzyć kod VBA, który zostanie wykonany automatycznie po wystąpieniu zdarzenia.

Na przykład, aby makro było uruchamiane za każdym razem, gdy użytkownik przełącza arkusz w skoroszycie programu Excel, należy utworzyć kod VBA, który będzie uruchamiany za każdym razem, gdy wystąpi zdarzenie Aktywacja arkusza zeszyt ćwiczeń.

A jeśli chcesz, aby makro było uruchamiane za każdym razem, gdy przechodzisz do określonego arkusza roboczego (na przykład Sheet1), kod VBA musi być powiązany ze zdarzeniem Aktywuj dla tego arkusza.

Kod VBA przeznaczony do obsługi zdarzeń Excel należy umieścić w odpowiednim obiekcie arkusza lub skoroszytu w oknie edytora VBA (edytor można otworzyć klikając Alt + F11). Na przykład kod, który powinien być wykonywany za każdym razem, gdy na poziomie arkusza wystąpi określone zdarzenie, należy umieścić w oknie kodu tego arkusza. Pokazuje to rysunek:

W edytorze Visual Basic można wyświetlić zestaw wszystkich zdarzeń programu Excel dostępnych na poziomie skoroszytu, arkusza lub wykresu. Otwórz okno kodu dla wybranego obiektu i wybierz typ obiektu z lewego menu rozwijanego u góry okna. Prawe menu rozwijane w górnej części okna pokaże zdarzenia zdefiniowane dla tego obiektu. Poniższy rysunek przedstawia listę zdarzeń związanych z arkuszem programu Excel:

Wydarzenia w Excelu

Kliknij żądane zdarzenie w prawym menu rozwijanym, a procedura zostanie automatycznie wstawiona do okna kodu dla tego obiektu Podłoże. na czele procedury Podłoże Excel automatycznie wstawia wymagane argumenty (jeśli istnieją). Pozostaje tylko dodać kod VBA, aby określić, jakie działania powinna wykonać procedura po wykryciu żądanego zdarzenia.

Przykład

W poniższym przykładzie za każdym razem, gdy zaznaczona jest komórka B1 na arkuszu Sheet1 pojawi się okno komunikatu.

Aby wykonać tę akcję, musimy użyć zdarzenia arkusza roboczego Wybór_Zmiana, który występuje za każdym razem, gdy zmienia się zaznaczenie komórki lub zakresu komórek. Funkcjonować Wybór_Zmiana otrzymuje jako argument cel przedmiot -. W ten sposób wiemy, jaki zakres komórek został wybrany.

wydarzenie Wybór_Zmiana występuje z każdym nowym wyborem. Ale potrzebujemy zestawu akcji do wykonania tylko wtedy, gdy komórka jest zaznaczona B1. W tym celu będziemy śledzić wydarzenie tylko w określonym zakresie cel. Jak to jest zaimplementowane w kodzie programu pokazanym poniżej:

'Kod do wyświetlenia okna komunikatu po wybraniu komórki B1 'w bieżącym arkuszu. Private Sub Worksheet_SelectionChange(ByVal Target As Range) 'Sprawdź, czy zaznaczono komórkę B1 If Target.Count = 1 And Target.Row = 1 And Target.Column = 2 Then 'Jeśli zaznaczono komórkę B1, wykonaj następujące zaznaczono komórkę B1" End If End Sub

Dodaj komentarz