Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Option Button deaktivieren wenn Zelle bestimmten Wert annimmt
#1
Hallo cleveres Excel Team,

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?

Vielen Dank schon mal im vorraus,

Travis5002
Antworten Top
#2
Hallo Travis,

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.

Gruß
Max
Antworten Top
#3
Hi Max,

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.

Wo ist der Fehler in der Verknüpfung?

Vielen Dank für die Hilfe..

MfG Travis5002
Antworten Top
#4
Hi Travis,

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.

Gruß
Max
Antworten Top
#5
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.

Vielen Dank
Antworten Top
#6
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 Smile.

Vielen Dank für die Hilfe!

MfG Travis5002


Angehängte Dateien
.xlsm   Beispieldatei_Optionbutton.xlsm (Größe: 21,71 KB / Downloads: 9)
Antworten Top
#7
Hi,

(18.02.2015, 11: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?

Visible ist das Stichwort?
Antworten Top
#8
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.

Dodgy Huh

Vielen Dank Rabe schonmal für die Anmerkung, über weitere Hilfestellung bin ich schon mal dankbar Exclamation


Angehängte Dateien
.xlsm   Beispieldatei_Optionbutton.xlsm (Größe: 23,37 KB / Downloads: 4)
Antworten Top
#9
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.

schönen Tag noch
Antworten Top
#10
Hi Travis,

Du hast es schon fast gehabt :28:.
Du darfst beim Klick auf "Zurück" nur nicht die geöffnete 2. Userfrom verstecken,
sondern Du musst sie schließen.

Code:
Unload Userform2

So das die Userform 2 bei jedem erneueten Klick auf "Start" neu initialisiert wird.

Gruß
Max


.xlsm   Travis_Beispieldatei_Optionbutton_Max.xlsm (Größe: 21,35 KB / Downloads: 8)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste