Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1504to1508
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Code irre bei Comboboxenauswahl!

Code irre bei Comboboxenauswahl!
04.08.2016 18:50:15
ViGo
Hallo zusammen!
Ich hab ein Problem mit meinem Code und zwar macht er nicht was er soll. Vielleicht habt ihr ja eine Idee woran das liegt...
Ich möchte umsetzen, dass wenn in Userform1 in Combobox1=klein und Combobox2=nein ausgewählt wird, in Userform2 die Auswahl für Combobox1 und Combobox 2 schon vorgegeben und auch nicht mehr veränderbar ist. Nur bei dieser Kombination!
Allerdings sieht es aktuell so aus:
Userform1
combobox1=klein, combobox2=nein --> Combobox1 in Userform 2 leer und auswählbar
Userform1
combobox1=klein, combobox2=ja --> Userform 2 Combobox1=ja und auswählbar
Die anderen beiden Kombination funktionieren wie sie es sollen.
Private Sub CommanButton_Click()
'Wenn beide Angaben oder eine Angabe mit passendem Inhalt übereinstimmt
If Me.ComboBox1.Value = "groß" And Me.ComboBox2.Value = "ja" Then
Unload Me
UserForm2.Show
ElseIf Me.ComboBox1.Value = "groß" And Me.ComboBox2.Value = "nein" Then
Unload Me
UserForm2.Show
ElseIf Me.ComboBox1.Value = "klein" And Me.ComboBox2.Value = "ja" Then
Unload Me
UserForm2.Show
ElseIf Me.ComboBox1.Value = "klein" And Me.ComboBox2.Value = "nein" Then
Unload Me
UserForm2.Show
UserForm2.ComboBox1.Value = "ja"
UserForm2.ComboBox2.Value = "1"
UserForm2.ComboBox1.Enabled = True
UserForm2.ComboBox2.Enabled = True
ElseIf Me.ComboBox1.Value = "" Xor Me.ComboBox2.Value = "" Then
MsgBox "Die Felder dürfen nicht leer sein. Bitte machen Sie Angaben!"
ElseIf Me.ComboBox1.Value = "" And Me.ComboBox2.Value = "" Then
MsgBox "Die Felder dürfen nicht leer sein. Bitte machen Sie Angaben!"
End If
End Sub
Achso, noch etwas: dieser Code wird ausgeführt, wenn man auf den Weiter- Button klickt!
Viele Grüße, ViGo

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Code irre bei Comboboxenauswahl!
04.08.2016 22:06:52
Matthias
Hallo ViGO!
Das gibt es 2 Möglichkeiten:
1. DIe UF2 als vbmodeless starten. Damit ist sie vom REst des Codes "abgekapselt". Ansonsten startet die UF und der Code dahinter geht erst weiter, wenn die UF abgearbeitet ist. Deine Zeilen enable und WErte setzen starten also erst, wenn UF2 wieder weg ist.
2. Die UF2 erstmal nur laden mit load. Dann enablen und Werte setzen und dann erst show.
Und enablen tutst du mit false. Der Wert true bedeutet, dass man Änderungen machen kann.
VG Matthias
AW: Code irre bei Comboboxenauswahl!
05.08.2016 02:18:09
Lukkeeee
Hallo ViGo,
wenn du das ganze als Select-Case Statements, mit Booleans machst dann kannst du nach einem Case dem Boolean einen Wert geben. Und du kannst einfach mit einem anderen Select Case die Auswirkung der Booleans festlegen. Ob du die UserForm schliessen willst und eine andere anzeigen lassen willst oder nicht.
Das macht das ganze uebersichtlicher und nachvollziehbarer.
Gruss Lukkeeee
Anzeige
AW: Code irre bei Comboboxenauswahl!
05.08.2016 10:11:00
baschti007

Private Sub CommandButton1_Click()
'Wenn beide Angaben oder eine Angabe mit passendem Inhalt übereinstimmt
If Me.ComboBox1.Value = "groß" And Me.ComboBox2.Value = "ja" Then
Unload Me
UserForm2.Show
ElseIf Me.ComboBox1.Value = "groß" And Me.ComboBox2.Value = "nein" Then
Unload Me
UserForm2.Show
ElseIf Me.ComboBox1.Value = "klein" And Me.ComboBox2.Value = "ja" Then
Unload Me
UserForm2.Show modal
ElseIf Me.ComboBox1.Value = "klein" And Me.ComboBox2.Value = "nein" Then
Unload Me
UserForm2.Show modal
UserForm2.ComboBox1.Value = "ja"
UserForm2.ComboBox2.Value = "1"
UserForm2.ComboBox1.Enabled = True
UserForm2.ComboBox2.Enabled = True
ElseIf Me.ComboBox1.Value = "" Xor Me.ComboBox2.Value = "" Then
MsgBox "Die Felder dürfen nicht leer sein. Bitte machen Sie Angaben!"
ElseIf Me.ComboBox1.Value = "" And Me.ComboBox2.Value = "" Then
MsgBox "Die Felder dürfen nicht leer sein. Bitte machen Sie Angaben!"
End If
End Sub

Anzeige
AW: Code irre bei Comboboxenauswahl!
05.08.2016 10:58:58
ViGo
Hallo zusammen!
Danke für euren Input! :) :) :)
Ich hab das nun folgendermaßen hingebogen:
'Option Explicit
Private Sub CommanButton_Click()
'Wenn beide Angaben oder eine Angabe mit passendem Inhalt übereinstimmt
If Me.ComboBox1.Value = "groß" And Me.ComboBox2.Value = "ja" Then
Unload Me
UserForm2.Show
ElseIf Me.ComboBox1.Value = "groß" And Me.ComboBox2.Value = "nein" Then
Unload Me
UserForm2.Show
ElseIf Me.ComboBox1.Value = "klein" And Me.ComboBox2.Value = "ja" Then
Unload Me
UserForm2.Show
ElseIf Me.ComboBox1.Value = "klein" And Me.ComboBox2.Value = "nein" Then
Unload Me
UserForm2.ComboBox1.Enabled = False
UserForm2.ComboBox2.Enabled = flase
UserForm2.ComboBox1.Value = "ja"
UserForm2.ComboBox2.Visible = True
UserForm2.ComboBox2.Value = "1"
UserForm2.Show
ElseIf Me.ComboBox1.Value = "" Xor Me.ComboBox2.Value = "" Then
MsgBox "Die Felder dürfen nicht leer sein. Bitte machen Sie Angaben!"
ElseIf Me.ComboBox1.Value = "" And Me.ComboBox2.Value = "" Then
MsgBox "Die Felder dürfen nicht leer sein. Bitte machen Sie Angaben!"
End If
End Sub

Das mit userform2.show modal hat irgendwie nicht geklappt.
Dann hab ich das zunächst mal mit dem load probiert. Da wurde mir dann ein Fehler ausgeworfen. Also hab ich das weggemacht und wie im Code oben umgesetzt. Nun funktionierts!
Vielen Danke und schöne Grüße!
ViGo
Anzeige

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige