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:

 

<table style="width: 80px;" border="0" cellspacing="0" cellpadding="0"><colgroup><col style="width: 60pt;" width="80" /></colgroup>
<tbody>
<tr style="height: 12.75pt;">
<td style="height: 17px; width: 80px;">Da eine Wenn-Abfrage keine Sub-Prozedur sondern nur eine Function ausführen kann, muss der Umweg gegangen werden, dass</td>
</tr>
<tr style="height: 12.75pt;">
<td style="height: 17px;">eine Function aufgerufen wird, welche wiederum die ensprechende Sub startet.</td>
</tr>
</tbody>
</table>

Function makro1_start()
 '** Prozedur aufrufen
 testmakro1
 End Function
 


 Sub testmakro1()
 MsgBox "Makro 1 wurde gestartet"
 End Sub

Erfassen Sie diesen Code in ein Code-Modul.

Drucken