Anzeige
Archiv - Navigation
1436to1440
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
Bestimmte TextBoxen in Userform prüfen
15.07.2015 12:21:11
Uli
Moin moin,
ich habe ein kleines Problem bei meinem Formular. Ich habe einige Textboxen und Comboboxen. Bestimmte Textboxen werden nur aktiv, wenn eine vorherige Textbox ausgefüllt wurde. Bevor ich auf "OK" klicke und die Daten in eine Tabelle eingetragen werden, geprüft werden, ob ganz bestimmte Textboxen befüllt wurden.
Mein Code lautet:

Private Sub cmdOK_Click()
Dim letzteZeile As Long
Dim objtxt As Object
Set quelle = Worksheets("Anträge")
Set ziel = Worksheets("Wohnungsbau")
Set daten = Worksheets("Daten")
letzteZeile = quelle.Cells(Rows.Count, 1).End(xlUp).Row + 1
With Me
For Each objtxt In .Controls
If TypeName(objtxt) = "TextBox" Then
If objtxt.Value = "" Then
MsgBox " Bitte die Textfelder ausfüllen!", 48
objtxt.SetFocus
Exit Sub
End If
End If
Next
quelle.Cells(letzteZeile, 1).Value = lbldatum
quelle.Cells(letzteZeile, 2).Value = .txtakz
End With
Unload Me
End Sub
Dabei prüft er jede Textbox. Wie lautet der code, wenn er bestimmte Textboxen nicht überprüfen soll?
Danke für Eure Hilfe

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bestimmte TextBoxen in Userform prüfen
15.07.2015 12:32:52
PeTeR
Hi Uli,
deine Textboxen haben ja auch Namen. Darüber kannst du bestimmte Textboxen prüfen:
If Me.Textbox1.value="" then
msgbox "Bitte Textbox 1 füllen"
me.textbox1.setfocus
exit sub
end if
3 Textboxen prüfen heisst 3 Mal If...then...end if
Viel Erfolg
PeTeR

AW: Bestimmte TextBoxen in Userform prüfen
15.07.2015 12:54:30
Uli
Vielen Dank. Und wenn ich 28 Textboxen habe, von denen nur zwei nicht geprüft werden müssen? Geht das auch im Ausschlußverfahren?

AW: Bestimmte TextBoxen in Userform prüfen
15.07.2015 18:28:35
Nepumuk
Hallo,
würde ich so machen:
Private Sub cmdOK_Click()
    Dim letzteZeile As Long
    Dim objControl As Control
    
    Set quelle = Worksheets("Anträge")
    Set ziel = Worksheets("Wohnungsbau")
    Set daten = Worksheets("Daten")
    
    letzteZeile = quelle.Cells(Rows.Count, 1).End(xlUp).Row + 1
    
    For Each objControl In Controls
        If TypeOf objControl Is MSForms.TextBox Then
            Select Case objControl.Name
                Case "TextBox1", "TextBox2"
                    'mach nix
                Case Else
                    If objControl.Value = "" Then
                        MsgBox " Bitte die Textfelder ausfüllen!", vbExclamation
                        objControl.SetFocus
                        Exit Sub
                    End If
            End Select
        ElseIf TypeOf objControl Is MSForms.ComboBox Then
            Select Case objControl.Name
                Case "ComboBox1", "ComboBox2"
                    'mach nix
                Case Else
                    If objControl.ListIndex = -1 Then
                        MsgBox " Bitte etwas auswählen!", vbExclamation
                        objControl.SetFocus
                        Exit Sub
                    End If
            End Select
        End If
    Next
    
    quelle.Cells(letzteZeile, 1).Value = lbldatum
    quelle.Cells(letzteZeile, 2).Value = txtakz
    ....
    
    Unload Me
    
End Sub

Gruß
Nepumuk

Anzeige
AW: Bestimmte TextBoxen in Userform prüfen
15.07.2015 12:50:54
Uli
vielen Dank Peter,
die Prozedur habe ich probiert und ist natürlich bei 28 Textboxen bzw. Comboboxen sehr lang.
Es brauchen lediglich 3 Textboxen und eine combobox nicht geprüft werden. Geht es dann auch irgendwie im Ausschlußverfahren leichter?

AW: Bestimmte TextBoxen in Userform prüfen
15.07.2015 18:33:44
PeTeR
Hallo Uli,
ungetestet würde ich es so probieren: Angenommen Textbox1, Textbox15 und Textbox21 sollen NICHT geprüft werden:
With Me
For Each objtxt In .Controls
If TypeName(objtxt) = "TextBox" Then
If objtxt.name"Textbox1" and objtxt.name"Textbox15" and objtxt.name"Textbox21" then
If objtxt.Value = "" Then
MsgBox " Bitte die Textfelder ausfüllen!", 48
objtxt.SetFocus
Exit Sub
end if
End If
End If
Next
quelle.Cells(letzteZeile, 1).Value = lbldatum
quelle.Cells(letzteZeile, 2).Value = .txtakz
....
End With

Anzeige
AW: Bestimmte TextBoxen in Userform prüfen
16.07.2015 09:24:13
Uli
Vielen Dank an Euch beiden. Es hat wunderbar funktioniert. Vor allem, wie schnell hier die Antworten kommen. Das ist echt der Hammer.

AW: Bestimmte TextBoxen in Userform prüfen
16.07.2015 09:29:41
Daniel
Hi
für solche Fälle gibt es Select Case

Select Case objtxt.name
Case "Textbox1", "Textbox15", "Textbox21"
Case Else
hier dann der weitere Code
end Select
Gruß Daniel

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige