Validierung für die Userform zu prüfen, leeren-Kontrollen, die Verwendung von Schleifen

Nachdem der Benutzer erfolgt die Eingabe der Daten. Wenn der Benutzer klicken Sie auf "Absenden". Ich werde prüfen, ob all die textbox nicht leer ist.
Der Benutzer wird nach Eingabe der Anzahl der member, wenn der Benutzer geben Sie 1 ein, Mitglied ich werde prüfen, ob member01 ist leer, wenn der Benutzer geben Sie 3 ein, Mitglied ich werde prüfen, ob member01, member02, member03 leer ist
Es funktioniert für If -, Else -, aber ich möchte es tun, for-Schleife, wie es ist mühsam für mich zu tun, es 10-mal. Ich weiß nicht wie ich es ändern von If -, Else -, For-Schleife.

 ‘Using If Else
  If txtNoMember.Value = "" Then
        MsgBox "Please enter the Number of Member.", vbExclamation, "Input Data"
        txtNoMember.SetFocus
        Exit Sub
    End If

    If txtNoMember.Value = 1 And txtMember01.Value = "" Then
        MsgBox "Member cannot be empty.", vbExclamation, "Input Data"
        Exit Sub
    End If

    If txtNoMember.Value = 2 And txtMember01.Value = "" And txtMember02.Value = "" Then
        MsgBox "Member(s) cannot be empty.", vbExclamation, "Input Data"
        Exit Sub
    ElseIf txtNoMember.Value = 2 And txtMember01.Value = "" Then
        MsgBox "Member(s) cannot be empty.", vbExclamation, "Input Data"
        Exit Sub
    ElseIf txtNoMember.Value = 2 And txtMember02.Value = "" Then
        MsgBox "Member(s) cannot be empty.", vbExclamation, "Input Data"
        Exit Sub
    End If

    If txtNoMember.Value = 3 And txtMember01.Value = "" Then
        MsgBox "Member(s) cannot be empty.", vbExclamation, "Input Data"
        Exit Sub
    ElseIf txtNoMember.Value = 3 And txtMember02.Value = "" Then
        MsgBox "Member(s) cannot be empty.", vbExclamation, "Input Data"
        Exit Sub
    ElseIf txtNoMember.Value = 3 And txtMember03.Value = "" Then
        MsgBox "Member(s) cannot be empty.", vbExclamation, "Input Data"
        Exit Sub
        MsgBox "Member(s) cannot be empty.", vbExclamation, "Input Data"
        Exit Sub
    End If

‘Using Loop
Dim Ctrl As Control
Dim CtrlNum As Long

For Each Ctrl In Me.Controls
    If Ctrl.Name Like "txtMember##" Then
        CtrlNum = CLng(Right$(Ctrl.Name, 2))
        If CtrlNum.Value = "" Then
            MsgBox "Member(s) cannot be empty.", vbExclamation, "Input Data"
        End If
    End If
Next

InformationsquelleAutor Gervina | 2013-12-04

Schreibe einen Kommentar