Uruchom makro, gdy spełniony jest warunek w tabeli programu Excel

Spisie treści

Możesz użyć sztuczki, aby uruchomić makro, gdy tylko funkcja JEŻELI w arkuszu kalkulacyjnym Excel przyniesie określony wynik

Makro ma być wykonywane w tabeli programu Excel, gdy tylko funkcja tabeli JEŻELI zwróci wartość logiczną. W przeciwnym razie tekst powinien być po prostu wyświetlony.

Rozwiązujesz ten problem za pomocą funkcji VBA zdefiniowanej przez użytkownika. Pracujesz z procedurą Function zamiast z procedurą Sub.

Jeśli istnieje już makro, które chcesz rozpocząć od funkcji JEŻELI, możesz skopiować kod do procedury Function lub wywołać z niej procedurę Sub.

Jako przykład użyto makro o nazwie „Startmakro”, które wywołuje jedynie proste okno dialogowe. Wykonaj następujące kroki:

  1. Najpierw uruchom edytor VBA. Możesz to zrobić we wszystkich wersjach programu Excel za pomocą kombinacji klawiszy ALT F11.
  2. Wybierz polecenie WSTAW - MODUŁ, aby wstawić nowy arkusz modułu.

Wprowadź następujące polecenia VBA:

Funkcja publiczna Startmakro() jako ciąg
Zadzwoń do reklamy
Uruchom makro = „Rozpoczęto”.
Koniec funkcji
Wyświetlacz dodatkowy ()
MsgBox "Makro uruchomione"
Napis końcowy

Kod programu składa się z dwóch oddzielnych części. Pierwszy fragment reprezentuje nową funkcję tabelową STARTMAKRO. Drugi fragment służy do wyświetlania tekstu „Makro zostało uruchomione”.

Po wprowadzeniu poleceń wywołaj polecenie ZAMKNIJ I WRÓĆ DO MICROSOFT EXCEL w menu PLIK w edytorze VBA. To sprowadza cię z powrotem do twojego stołu.

Jak dołączyć makro do funkcji JEŻELI?

Aby sprawdzić, czy makro działa poprawnie, wprowadź następującą funkcję w komórce A2 tabeli:

= JEŻELI (A1 = 1; startmakro (); "Nie uruchomiono.")

Jeśli wpiszesz liczbę 1 w komórce A1, makro zostanie wywołane przez funkcję zdefiniowaną przez użytkownika. Pojawi się okno wiadomości, jak pokazano na poniższym rysunku:

Dalej jest tekst „Rozpoczęto”. W celi. Zdefiniowana przez użytkownika funkcja arkusza kalkulacyjnego zwróciła ten wynik do programu Excel.

Jeśli komórka A1 ma zawartość inną niż 1, makro nie jest uruchamiane. W takim przypadku funkcja JEŻELI ustawia tekst „Nie uruchomiono”. w rezultacie

Przedstawiona ścieżka jest praktyką, której Microsoft nie zaleca. Okna komunikatów nie powinny być wyświetlane w funkcjach zdefiniowanych przez użytkownika.

Nie ma potrzeby oddzielania dwóch makr START MACRO i DISPLAY. Można również zrezygnować z polecenia CALL w makrze VBA i dołączyć polecenia dla podprogramu bezpośrednio do podprogramu FUNCTION.

Będziesz pomóc w rozwoju serwisu, dzieląc stronę ze swoimi znajomymi

wave wave wave wave wave