Makro nach Zelländerung oder Buttonklick ausführen
08.07.2015 14:25:50
Sander
ich benötige Hilfe beim automatischen Ausführen eines Makros. Zu meinem speziellen Fall konnte ich leider in keinem Forumbeitrag eine passende Hilfe finden.
Ich habe eine eigene Suchfunktion geschrieben, die in bestimmten Feldern meiner Tabelle sucht (es geht um eine Liste mit Namen, Adressen etc.). Den Suchbegriff muss der Nutzer in einer Zelle eingeben (B2). Diese Suche selbst funktioniert einwandfrei.
Ich verwende Worksheet_Change, um nach dem Ändern des Zellwertes automatisch das Suchmakro zu starten. Dies klappt.
Ich habe außerdem einen Suchbutton eingefügt, mit dem man ebenfalls nach dem Suchbegriff suchen kann. Dies ist nötig, weil bei einem nicht geänderten Suchbegriff die Suche ja auch irgendwie startbar sein soll. Dies klappt auch.
Nun kommt das Problem: Wenn der Nutzer gerade im Suchfeld einen Suchbegriff eingegeben hat und nun (statt der Entertaste) direkt auf den Suchbutton klickt, wird das Makro zweimal nacheinander ausgelöst. Wie kann ich dies verhindern? Ich möchte also, dass das Makro in jedem Fall nur einmal gestartet wird.
Ich habe eine Beispieldatei hochgeladen, die nur das Wesentliche enthält (ohne die Daten, ohne die eigentliche Suchfunktion, sondern nur mit einer Messagebox).
https://www.herber.de/bbs/user/98710.xlsm
Wenn mir jemand helfen kann, wäre das toll.
Herzliche Grüße,
Sander