AW: ComboBoxen prüfen, Inhalt löschen
12.08.2018 08:12:08
olga
Hallo,
noch eine Frage zum prüfen.
Ich möchte das Array dynamisch gestalten.
Die Boxen sind gleich nur die Prüfung soll unterschiedlich namen haben.
Wie muß ich es bewerkstelligen das einmal nach CommandButton1 und einmal nach 2 geprüft wird.
Fehlermaldung kommt "With Me.Controls(T2 & i)" Typ unverträglich Laufzeitfehler 13
Danke!
Gruß
Olga
Dim arr() As Variant
Dim sPruef As String
Private Sub CommandButton1_Click()
arr = Array("cboReg_Werkzeug_Anzahl", "cboReg_Werkzeug_Maschine", "cboReg_Werkzeug_Stunden")
Check
End Sub
Private Sub CommandButton2_Click()
'arr = Array("cboReg_Material_Anzahl", "cboReg_Material_Einheit", "cboReg_Material_Bezeichnung") _
sPruef = "cboReg_Material_Anzahl""" & "," & """cboReg_Material_Einheit""" & "," & """ _
cboReg_Material_Bezeichnung"
Check
End Sub
Private Function Check() As String
Dim ErgGesamt As String
Dim ErgEinzel As String
Dim i As Long
Dim T2
Dim Zähler As Long
Dim Prüf As Long
For i = 1 To 8
Prüf = 0
ErgEinzel = ""
' For Each T2 In Array(arr)
For Each T2 In Array(sPruef)
With Me.Controls(T2 & i)
If .Value = "" Then
ErgEinzel = ErgEinzel & vbLf & "- " & .Name
Else
Prüf = Prüf + 1
End If
End With
Next
Select Case Prüf
Case 0
Case 1, 2
ErgGesamt = ErgGesamt & ErgEinzel
Zähler = Zähler + 1
Case 3
Zähler = Zähler + 1
End Select
Next
If Zähler = 0 Then
Check = "nichts ausgefüllt"
Else
If ErgGesamt = "" Then
Check = "alles i.O."
Else
Check = "Folgende Felder müssen noch gefüllt werden:" & ErgGesamt
End If
End If
End Function
https://www.herber.de/bbs/user/123274.xlsm