Makro über die Funktion WENN() starten

Haben Sie schon mal darüber nachgedacht, über die Funktion =WENN(Prüfung;dann;sonst) ein eigenes Makro auszuführen, wenn die Wenn-Bedingung eintritt?

Nachfolgend zeigen wir Ihnen, wie sich dies relativ einfach realiseren lässt.

Erfassen Sie in eine beliebige Zelle folgende Formel: =WENN(F5="Start";Makro1_start();"nichts")

Diese Wenn-Funktion prüft, ob in Zelle F5 der Text Start eingegeben wurde. Ist dies der Fall, wird das Makro mit der Bezeichnung "Makro1_start" aufgerufen und die entsprechenden Befehle ausgeführt. Im Beispiel wird nur der Text "Makro 1 wurde gestartet" ausgegeben. Wenn in die Zelle F5 etwas anderes als Start eingetragen wird, gibt die Wenn-Funktion den Text "nichts" zurück.

Da eine Wenn-Abfrage keine Sub-Prozedur sondern nur eine Function ausführen kann, muss der Umweg gegangen werden, dass
eine Function aufgerufen wird, welche wiederum die ensprechende Sub startet, siehe nachfolgenden VBA-Code:

{codecitation} 

Da eine Wenn-Abfrage keine Sub-Prozedur sondern nur eine Function ausführen kann, muss der Umweg gegangen werden, dass
eine Function aufgerufen wird, welche wiederum die ensprechende Sub startet.

Function makro1_start()
'** Prozedur aufrufen
testmakro1
End Function
{/codecitation}

{codecitation}
Sub testmakro1()
MsgBox "Makro 1 wurde gestartet"
End Sub

{/codecitation}

Erfassen Sie diesen Code in ein Code-Modul.