User-Form - Voreinstellungen ohne Click-Ereignis auszulösen
24.10.2023 10:34:09
Eric March
Vorab, es sollte alle Excel-Versionen ab 2010 berühren; 2016 ist die an der ich zumeist arbeite, aktuell sitze ich an 2010.
Grundkonzept ist eine Anzahl an Zeilen abzuarbeiten und dort bei Bedarf etwas zu ändern. Das soll per User-Form passieren. Es gibt Zeilen in denen nichts passiert, also darf auch nichts passieren. Mit einer bescheidenen Weiter-Schaltfläche werden gewählte Änderungen final ausgelöst und es geht zu nächsten Zeile.
Eine Gruppe von Option-Buttons kontrolliert eine bestimmte Zelle. Und mein Wunsch wäre, diese Gruppe faktisch zu neutralisieren damit beim Weiter nichts verändert wird.
Die simple Idee heißt im Makro einen Option-Button ein- und gleich wieder auszuschalten. Ein Button, der natürlich (s)eine Funktion auslöst. Genauer gesagt löst bekanntlich jede Bedienung das Click-Ereignis aus und das ist natürlich nicht beim Neutralisieren zu gebrauchen.
Wie also kann man so einen Button (um)schalten ohne dabei das Klick-Ereignis mit auszulösen?
Google liefert Codevorschläge die im Click-EreignisCode anhand einer externen Statusvariablen sofort abspringen. Damit kann ich aber nicht einen Option-Button per Makro ein- oder ausschalten, was der Kern der Übung wäre. Und Application.EnableEvents geht nicht in einer User-Form.
Ein Workaround wäre noch ein Button in der Gruppe der unsichtbar, versteckt, ist und den ich dann drücken darf; mangels programmiertem Click-Ereignis passiert nichts. Aber - ich würde schon gerne alles sehen und in welchem Schalt-Zustand es sich befindet. Daher würde ich so eine Mogelei gerne umschiffen.
Augenblicklich behelfe ich mir mit Hilfsvariablen (es gibt mehr denn eine Gruppe ) die den Stand der vom Button berührten Zelle auffangen, dann wird ein- und ausgeschaltet und die Zelle mit dem konservierten Wert beschickt.
Das muss doch einfacher zu lösen sein - ohne Konserven und Schatten-Buttons?!
Grüße,
Eric March