Używanie zdarzenia zmiany arkusza do uruchamiania makra po wprowadzeniu jakiejkolwiek zmiany

Spisie treści:

Anonim

Jeśli tu jesteś, prawdopodobnie chcesz się nauczyć, jak uruchamiać podprogram za każdym razem, gdy wprowadzana jest zmiana w określonym arkuszu. Ten artykuł dokładnie tego nauczy. Więc zacznijmy.

Składnia programu obsługi zdarzeń zmiany arkusza roboczego to:

Private Sub worksheet_change(ByVal Target As Range) 'twój kod ' ' Koniec Sub 

Ten kod musi być napisany w obiekcie arkusza, aby działał, a nie w normalnym module.

Private Sub worksheet_change(ByVal Target As Range) Msgbox "Zaktualizowałeś coś w tym arkuszu" End Sub 

Jeśli masz ten kod w arkuszu1 i zapiszesz lub usuniesz coś w arkuszu1, komunikat wyskoczy, że „Zaktualizowałeś coś w tym arkuszu”.

Nie będzie działać w normalnych modułach. Ale możesz wywoływać podprogramy z dowolnego modułu. To samo zrobimy w tej sesji.


Scenariusz:

Uruchom makro programu Excel, jeśli w arkuszu zostanie wprowadzona jakakolwiek zmiana

Załóżmy więc, że mamy makro, które zmienia kolor komórek w zależności od pewnego warunku. Podobnie jak formatowanie warunkowe programu Excel. Jedyna różnica polega na tym, że kolor komórek zmienia się, gdy uruchamiamy ten kod VBA za pomocą przycisku lub polecenia uruchamiania, a nie po zmianie wartości. Chcemy, aby makro było uruchamiane po każdej zmianie w arkuszu. Tutaj zdarzenia VBA pomogą. Teraz, aby to zrobić, użyjemy zdarzenia zmiany arkusza roboczego.

Wykonaj następujące kroki:

  • Przejdź do eksploratora projektów i kliknij dwukrotnie arkusz, na którym chcesz wywołać zdarzenie worksheet.change. Chcę wyzwolić zdarzenie, gdy w Arkuszu 2 zostaną wprowadzone zmiany, więc dwukrotnie klikam Arkusz2. Możesz także kliknąć prawym przyciskiem myszy i kliknąć kod widoku, aby otworzyć obszar pisania kodu dla obiektów arkusza.W obszarze kodu wpisz ten wiersz kodu.
    Private Sub Worksheet_Change (ByVal Target As Range) End Sub 

    worksheet_change(Target as Range) to zachowany podprogram uruchamiany po wprowadzeniu zmiany w kodzie zawierającym arkusz.

    Kiedy napiszesz ten kod, zobaczysz, że obiekt zmienia się w arkusz. Zobacz listę rozwijaną w lewym górnym rogu. W prawym górnym menu rozwijanym wydarzeniem jest „zmiana”.
    Jeśli użyjesz listy rozwijanej i wybierzesz arkusz roboczy z menu rozwijanego po lewej stronie, wszystkie dostępne zdarzenia zostaną wyświetlone w menu rozwijanym po prawej stronie. Niezależnie od tego, którą listę rozwijaną wybierzesz, kod tego wydarzenia zostanie napisany automatycznie. Wystarczy wypełnić go niestandardowymi podprogramami.

  • Teraz po prostu umieść swój kod w tym segmencie. Chcę wywołać mój podprogram znajdujący się w module. Więc po prostu nazywam ten podprogram w tym module obsługi zdarzeń arkusza roboczego. Mój podprogram to FormatUsingVBA() w Module1
    Private Sub worksheet_change (ByVal Target As Range) Format wywołaniaUsingVBA End Sub

Teraz za każdym razem, gdy dokonamy zmiany w arkuszu 2, uruchomi się makro FromatUsingVBA.

Więc tak, w ten sposób można uruchomić skrypt VBA, gdy arkusz zmieni swoją zawartość, za pomocą programu obsługi Worksheet Change Event. Mam nadzieję, że to było pomocne. Jeśli masz jakieś pytania dotyczące tego programu obsługi zdarzeń, wspomnij o tym w sekcji komentarzy.

Najprostszy kod VBA do podświetlania bieżącego wiersza i kolumny za pomocą| Użyj tego małego fragmentu kodu VBA, aby podświetlić bieżący wiersz i kolumnę arkusza.

Zdarzenia arkusza roboczego w Excel VBA| Zdarzenia arkusza roboczego są naprawdę przydatne, gdy chcesz, aby makra były uruchamiane po wystąpieniu określonego zdarzenia w arkuszu.

Uruchom makro, jeśli w arkuszu w określonym zakresie wprowadzono jakiekolwiek zmiany| Aby uruchomić kod makra, gdy zmieni się wartość w określonym zakresie, użyj tego kodu VBA. Wykrywa każdą zmianę dokonaną w określonym zakresie i uruchamia zdarzenie.

Popularne artykuły:

50 skrótów Excela, które zwiększą Twoją produktywność | Przyspiesz swoje zadanie. Te 50 skrótów przyspieszy pracę w programie Excel.

Funkcja WYSZUKAJ.PIONOWO w programie Excel | Jest to jedna z najczęściej używanych i popularnych funkcji programu Excel, która służy do wyszukiwania wartości z różnych zakresów i arkuszy.

LICZ.JEŻELI w Excelu 2016 | Policz wartości z warunkami za pomocą tej niesamowitej funkcji. Nie musisz filtrować danych, aby policzyć konkretną wartość. Funkcja Countif jest niezbędna do przygotowania deski rozdzielczej.

Jak korzystać z funkcji SUMA.JEŻELI w programie Excel | To kolejna ważna funkcja deski rozdzielczej. Pomaga to zsumować wartości w określonych warunkach.