Makro starten, wenn eine Bedingung in einer Excel-Tabelle erfüllt ist

16. Dezember 2011
Martin Althaus Von Martin Althaus, Excel, Office ...

Über einen Trick können Sie ein Makro starten, sobald eine WENN-Funktion in Ihrer Excel-Tabelle ein bestimmtes Ergebnis liefert

Ein Hinweisfenster reagiert auf einen WENN-Funktion

Ein Hinweisfenster reagiert auf einen WENN-Funktion

In einer Excel-Tabelle soll ein Makro ausgeführt werden, sobald eine WENN-Tabellenfunktion einen Wahrheitswert liefert. Ansonsten soll einfach ein Text angezeigt werden.

Diese Aufgabenstellung lösen Sie mit einer benutzerdefinierten VBA-Funktion. Dabei arbeiten Sie mit einer Function-Prozedur statt mit einer Sub-Prozedur.

Wenn bereits ein Makro vorliegt, das Sie mit einer WENN-Funktion starten möchten, können Sie den Code in die Function-Prozedur hineinkopieren oder die Sub-Prozedur daraus aufrufen.

Als Beispiel dient ein Makro mit dem Namen „Startmakro“, das lediglich eine einfache Dialogbox aufruft. Gehen Sie folgendermaßen vor:

  1. Starten Sie zuerst den VBA-Editor. Das erledigen Sie in allen Excel-Versionen über die Tastenkombination ALT F11.
  2. Wählen Sie den Befehl EINFÜGEN - MODUL, um ein neues Modulblatt einzufügen.

Geben Sie die folgenden VBA-Befehle ein:

Public Function Startmakro() As String
 
Call Anzeige
 Startmakro = "Gestartet."
End Function
Sub Anzeige()
 MsgBox "Makro wurde gestartet"
End Sub

Der Programmcode besteht aus zwei einzelnen Teilen. Das erste Fragment bildet die neue Tabellenfunktion STARTMAKRO ab. Das zweite Fragment sorgt für die Anzeige des Textes "Makro wurde gestartet."

Nach der Eingabe der Befehle rufen Sie im VBA-Editor im Menü DATEI den Befehl SCHLIEßEN UND ZURÜCK ZU MICROSOFT EXCEL auf. Damit kehren Sie zu Ihrer Tabelle zurück.

So binden Sie das Makro in eine WENN-Funktion ein

Um festzustellen, ob das Makro richtig arbeitet, geben Sie in Zelle A2 einer Tabelle die folgende Funktion ein:

=WENN(A1=1;startmakro();"Nicht gestartet.")

Wenn Sie in Zelle A1 die Zahl 1 eintragen, wird das Makro von Ihrer benutzerdefinierten Funktion aufgerufen. Das Hinweisfenster erscheint, wie es in der folgenden Abbildung dargestellt ist:

Ein Hinweisfenster reagiert auf einen WENN-Funktion

Anschließend steht der Text "Gestartet." In der Zelle. Dieses Ergebnis hat die benutzerdefinierte Tabellenfunktion an Excel zurückgegeben.

Das Funktionsergebnis nach dem Start des Makros

Falls in Zelle A1 ein Inhalte ungleich 1 steht, wird das Makro nicht gestartet. In diesem Fall legt die WENN-Funktion den Text "Nicht gestartet." als Ergebnis fest

So sieht der Zellinhalten nach dem Makrostart aus

Der vorgestellte Weg ist ein Verfahren, das von Microsoft nicht empfohlen wird. Innerhalb von benutzerdefinierten Funktionen sollen keine Mitteilungsfenster dargestellt werden.

Es ist nicht notwendig, die beiden Makros STARTMAKRO und ANZEIGE zu trennen. Sie können auch auf den Befehle CALL im VBA-Makro verzichten und die Kommandos für das Unterprogramm direkt in das Unterprogramm FUNCTION einbinden.

Werden Sie mit unseren Tipps zum Excel-Profi!

Jetzt gratis per E-Mail

DDV Ehrencodex E-Mail-Marketing
  • Wir benötigen Ihre E-Mail-Adresse für die Zusendung des Newsletters.
  • Wir geben Ihre E-Mail-Adresse garantiert nicht an Dritte weiter.
  • Jederzeit abbestellbar durch einen Link im Newsletter.

Unsere Datenschutzgarantie:

Wir benötigen Ihre E-Mail-Adresse für die Zusendung des Newsletters. Wir geben Ihre E-Mail-Adresse garantiert nicht an Dritte weiter. Jederzeit abbestellbar durch einen Link im Newsletter.

Weitere Artikel zum Thema

Newsletter

Jetzt kostenlose Excel-Hilfe anfordern!

  • die besten Tipps
  • völlig kostenlos
  • jederzeit abbestellbar
DDV Ehrencodex E-Mail-Marketing
  • Wir benötigen Ihre E-Mail-Adresse für die Zusendung des Newsletters.
  • Wir geben Ihre E-Mail-Adresse garantiert nicht an Dritte weiter.
  • Jederzeit abbestellbar durch einen Link im Newsletter.

Unsere Datenschutzgarantie:

Wir benötigen Ihre E-Mail-Adresse für die Zusendung des Newsletters. Wir geben Ihre E-Mail-Adresse garantiert nicht an Dritte weiter. Jederzeit abbestellbar durch einen Link im Newsletter.

Unsere Experten

Rudolf Ring twittert für @Computerwissen

Die von Ihnen eingegebene E-Mail Adresse ist nicht korrekt. Bitte korrgieren Sie Ihre Eingabe und klicken Sie auf "OK":

Bitte wählen Sie mindestens einen Newsletter aus und klicken Sie auf "OK"