Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

CheckBox Abfrage bei Drücken von OK

Forumthread: CheckBox Abfrage bei Drücken von OK

CheckBox Abfrage bei Drücken von OK
31.10.2006 08:12:04
OK
Hallo zusammen,
leider finde ich im Archiv nicht das, was ich suche und muss euch schon wieder belästigen.
Ich habe eine UserForm. Hier werden Kundendaten eingegeben. Jetzt habe ich eine Abfrage, die meinen OK-Button auf Enabled=False (inaktiv) setzt bis alle TextBox-Felder ausgefüllt sind.

Sub Ausgefuellt()
'Prüfen ob alle Anlagen-Daten eingetragen
'Sonst ist OK.Button Enabled = False (Inaktiv)
If MFU_Auswahl.TextBox1.Value <> "" Then
If MFU_Auswahl.TextBox2.Value <> "" Then
If MFU_Auswahl.TextBox3.Value <> "" Then
If MFU_Auswahl.TextBox4.Value <> "" Then
If MFU_Auswahl.ComboBox1.Value <> "" Then
MFU_Auswahl.OK.Enabled = True
Else
MFU_Auswahl.OK.Enabled = False
End If
Else
MFU_Auswahl.OK.Enabled = False
End If
Else
MFU_Auswahl.OK.Enabled = False
End If
Else
MFU_Auswahl.OK.Enabled = False
End If
Else
MFU_Auswahl.OK.Enabled = False
End If
End Sub

Jetzt muss ich aber noch eine Abfrage mit rein bringen, dass mindestens 1 CheckBox ausgewählt wurde.
Solange dies nicht erfolgt, soll der OK-Button auch noch inaktiv sein.
ODER
Kann ich eine Abfrage starten, bei Drücken von OK, dass mindestens 1 CheckBox (1 von 22) ausgewählt wurde. Wenn nicht, soll eine MsgBox kommen mit "Fehler - Bitte mindestens 1 CheckBox auswählen"
Vielen Dank schon mal für Eure Mühen!
Gruß Marc
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: CheckBox Abfrage bei Drücken von OK
31.10.2006 09:17:08
OK
Hallo,

Sub Ausgefuellt()
Dim blnGefuellt As Boolean
'Prüfen ob alle Anlagen-Daten eingetragen
'Sonst ist OK.Button Enabled = False (Inaktiv)
With MFU_Auswahl
blnGefuellt = .TextBox1.Value <> "" And _
MFU_Auswahl.TextBox2.Value <> "" And _
MFU_Auswahl.TextBox3.Value <> "" And _
MFU_Auswahl.TextBox4.Value <> "" And _
MFU_Auswahl.ComboBox1.Value <> "" And ( _
checkbox1 Or checkbox2 Or checkbox3 Or _
checkbox4 Or checkbox5 Or checkbox6 Or _
checkbox7 Or checkbox8 Or checkbox9 Or _
checkbox10 Or checkbox11 Or checkbox12 Or _
checkbox13 Or checkbox14 Or checkbox15 Or _
checkbox16 Or checkbox17 Or checkbox18 Or _
checkbox19 Or checkbox20 Or checkbox21 Or _
checkbox21)
.OK.Enabled = blnGefuellt
End With
End Sub
Gruß
Rudi
Anzeige
Vielen Dank Rudi! - Funktioniert 1a :-) -o.T.
31.10.2006 09:30:59
Marc81
AW: CheckBox Abfrage bei Drücken von OK
31.10.2006 09:41:19
OK
Hallo,
ich würde hier folgendermaßen vorgehen:
Setze in der Userform den Commandbutton (OK-Schaltfläche) in den Eigenschaften bei "enabled" von vornherein auf "false" - so dass diese Schalfläche inaktiv erscheint.
Dann setzt Du bei jeder Checkbox folgenden Code ein:

Private Sub CheckBox1_Click()
If UserForm1.CheckBox1.Value = True Then
zähler = 1
End If
Call zählen
End Sub

Diesen Code müsstest Du bei jeder Deiner 22 Checkboxen einfügen. Natürlich jeweils auf die Checkbox-Nummer angepassst.
Wie Du siehst, ruft dieses kleine Makro ein weiteres Makro auf, welches wie folgt lautet:
Sub zählen()
If zähler > 0 Then
UserForm1.CommandButton1.Enabled = True
End If
If zähler = 0 Then
UserForm1.CommandButton1.Enabled = False
End If
zähler = 0
End Sub
Diese benötigst Du nur einmal. "Commandbutton1" ist hier Deine OK-Schaltfläche.
Dann funktioniert es.
Probier es mal aus und gib kurz Feedback.
Gruß,
Ptonka
Anzeige
AW: CheckBox Abfrage bei Drücken von OK
31.10.2006 09:51:01
OK
Hallo Ptonka
ich habe den Vorschlag von Rudi benutzt:

Private Sub Ausgefuellt()
Dim blnGefuellt As Boolean
'Prüfen ob alle Anlagen-Daten eingetragen
'Sonst ist OK.Button Enabled = False (Inaktiv)
With MFU_Auswahl
blnGefuellt = .TextBox1.Value <> "" And _
.TextBox2.Value <> "" And _
.TextBox3.Value <> "" And _
.TextBox4.Value <> "" And _
.ComboBox1.Value <> "" And ( _
.CheckBox1 Or .CheckBox2 Or .CheckBox3 Or _
.CheckBox4 Or .CheckBox5 Or .CheckBox6 Or _
.CheckBox7 Or .CheckBox8 Or .CheckBox9 Or _
.CheckBox10 Or .CheckBox11 Or .CheckBox12 Or _
.CheckBox15 Or .CheckBox16 Or .CheckBox17 Or _
.CheckBox18 Or .CheckBox19 Or .CheckBox20)
.OK.Enabled = blnGefuellt
End With
End Sub

Diese Makro rufe ich dann beispielsweise mittels ... auf:

Private Sub CheckBox1_Click()
'Abfrage ob mindestens 1 Roboter angwählt
Application.Run "Ausgefuellt"
End Sub

bzw.

Private Sub TextBox1_Change()
'Abfrage ob alle Anlagen-Daten ausgefüllt sind
'Sonst ist OK.Button inaktiv
Application.Run "Ausgefuellt"
End Sub

Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige