Ich stehe gerade vor folgender Herausforderung: ich bastle gerade an einer Art Modulbaukasten zur Preisermittlung für Arbeitsplatzysteme. Aufgebaut ist das ganze mit verschiedenen Userforms, in Userform1 wählt der User bspw. über Commandbuttons die gewünschte Breite des Arbeitsplatzsystems, in Userform2 können verschiedene Aufbauten für das Arbeitsplatzsystem ausgewählt werden etc.. Die ausgewählte Breite wird in ein Tabellenblatt, sozusagen die "Endabrechnung" übertragen (Zelle b5). Allerdings passen manche Aufbauten aus Userform2 erst ab einer bestimmten Breite, wenn der User also in Userform1 eine geringere Breite ausgewählt hat, sollen 3 Optionbuttons nicht auswählbar sein.
Gibt es irgendwo eine Möglichkeit, Optionbuttons zu deaktivieren in Abhängigkeit davon, was der User in der vorherigen Userform ausgewählt hat?
grundsätzlich hat so ein Optionbutton eine Enabled-Eigenschaft, die entweder True oder False sein kann. Du kannst somit in Abhängigkeit von den in Userform1 angegebenen Maßen, die Optionsbuttons in Userform2 deaktivieren.
danke für die Antwort. Wie funktioniert das? Kann ich einfach hinter alle AuswahlCommandbuttons für die Größe, die eine zu geringe Größe für bestimmte Aufbauten haben, die jeweiligen Optionbuttons der Aufbauten deaktivieren? Das war meine Idee. Leider funktioniert das nicht.
Also bspw:
Zitat:Private Sub Breite_1600_Click() U3_Auswahl_Montagekit_Endmontage.Enabled = false
End Sun
"Breite_1600" ist der Name von dem Commandbutton, der bezwecken soll, dass der folgende Optionbutton deaktiviert werden soll. "U3_Auswahl_Montagekit" ist der Name der Userform "Endmontage" ist der Name des Optionbutton der deaktiviert werden soll.
am einfachsten wäre es, wenn Du Deine Datei einmal zur Verfügung stellst. Wie das geht steht hier Wenn ich Dich richtige verstanden habe, arbeitest Du mit 2 Userfroms. Je nachdem wie der Aufbau ist, könnest Du dann schon beim Initialisieren der 2. Userform, in der die Optionsbutton liegen, prüfen, ob der Wert in der 1. Userform kleiner 1600 ist. Aber Du schreibst Commandbutton! Woher weiß denn der Commandbutton, dass er " kleiner 1600" ist. Du siehst das ist so rein theoretisch etwas zu komplex. Also lade doch bitte (D)eine Datei hier hoch.
Die Datei hochzuladen wäre definitiv der einfachste Schritt gewesen, aber wie du dir wahrscheinlich schon gedacht hast, mache ich das gerade für die Arbeit, in der Datei stehen zu viele interne Firmenkennzahlen.
Werde eine simple Beispieldatei erstellen und die hochladen.
Aber ich glaube du hast genau den Punkt erkannt. Wenn Userform2 initialisiert wird, soll schon der Wert in Zelle B5 geprüft werden und eine bestimmte Auswahl an Optionbuttons auf enabled = false oder locked=true setzen.
Habe hier anbei das Problem in einer Datei dargestellt. Wenn der User Größe 2400 in Userform1 auswählt, sollen beide OptionButtons in Userform2 anwählbar sein. Wenn der User 1600 wählt, soll nur Aufbau1 auswählbar sein. Einfach auf "Start" drücken .
(18.02.2015, 12:45)Travis5002 schrieb: Aber ich glaube du hast genau den Punkt erkannt. Wenn Userform2 initialisiert wird, soll schon der Wert in Zelle B5 geprüft werden und eine bestimmte Auswahl an Optionbuttons auf enabled = false oder locked=true setzen.
ich glaube, es sollte nicht der OptionButton auf True oder False gesetzt werden, sondern die Sichtbarkeit oder?
Super Sache. Funktioniert leider nur noch nicht 100%ig.
Wenn ich Größe 1600 auswähle, ist der Optionbutton nicht mehr sichtbar. Wenn ich 2400 auswähle sind beide sichtbar. Das ist super, genauso soll das sein. Jedoch, anbei die Datei, sobald ein Wert ausgewählt wurde, lässt sich die Wahl nicht mehr rückgängig machen. Wenn ich also 1600 ausgewählt habe, ist Optionbutton2 ausgeblendet und kommt auch nicht zurück, wenn man sich durch den "zurück" Button auf Userform1 zurückgeht und seine Wahl ändert.
Vielen Dank Rabe schonmal für die Anmerkung, über weitere Hilfestellung bin ich schon mal dankbar
Alles gut. Hab den Fehler selbst gefunden. Bisschen Try'n Error und schon lief es, initialise war nicht das richtige Ereignis. Activate ausgewählt, schon passt es.