AW: Na, genau die vom VBE beanstandeten und ...
05.11.2014 14:40:15
Langmantl
ok, Danke, das wäre dann schon mal gelöst, bleiben noch die anderen beiden Fragen,
nämlich:
1.Wie kann ich bei dieser Routine so eingeben, dass auch leereingaben (also kein Eintrag akzeptiert wird, ohne dass ein Fehler ausgegeben wird.
2. Bisher findet die Prüfung im Formular nach Eingabe des Controlbuttons statt, ich will es aber so haben, dass die Prüfung und Ausgabe der Meldung unmittelbar nach Eingabe der Uhrzeit in das Textfeld passiert, wie muss ich den Code umstellen?
Hier Code des Checkbuttons
Private Sub CommandButton1_Click()
'Variablen Definieren'
Dim ch(1 To 7) As String
Dim v(1 To 7) As String
Dim b(1 To 7) As String
Dim w(1 To 7) As String
Dim datTest(1 To 7) As Date
Dim lngDay(1 To 7) As Long
Dim lngDayS(1 To 7) As String
'Variablen den Check und Textboxen zuordnen'
For i = 1 To 7
ch(i) = Me.Controls("CheckBox" & i)
Next i
v(1) = Me.TextBox2.Text
v(2) = Me.TextBox6.Text
v(3) = Me.TextBox10.Text
v(4) = Me.TextBox15.Text
v(5) = Me.TextBox19.Text
v(6) = Me.TextBox23.Text
v(7) = Me.TextBox27.Text
b(1) = Me.TextBox3.Text
b(2) = Me.TextBox7.Text
b(3) = Me.TextBox11.Text
b(4) = Me.TextBox14.Text
b(5) = Me.TextBox20.Text
b(6) = Me.TextBox24.Text
b(7) = Me.TextBox28.Text
w(1) = Me.TextBox4.Text
w(2) = Me.TextBox8.Text
w(3) = Me.TextBox12.Text
w(4) = Me.TextBox13.Text
w(5) = Me.TextBox17.Text
w(6) = Me.TextBox21.Text
w(7) = Me.TextBox25.Text
'Alte Einträge der Tabelle löschen"
Sheets(1).Range("a16:g16") = ""
Sheets(1).Range("a18:g18") = ""
Sheets(1).Range("a23:g23") = ""
'Prüfung ob Zeit erlaubt erste Spalte'
For i = 1 To 7
'On Error GoTo err_handler'
If v(i) "" Then
datTest(i) = CDate(v(i))
lngDay(i) = Weekday(Sheets(1).Cells(5, i), vb1)
lngDayS(i) = Sheets(1).Cells(8, i).Text
If lngDayS(i) "Schließtag" And lngDayS(i) "Feiertag" And lngDayS(i) "Urlaub" _
Then
If lngDay(i)
Hier Code Userform_activate
Private Sub UserForm_Activate()
'Datum auslesen und als Wochentage ins Formular schreiben'
Me.TextBox1 = Sheets(1).Range("A5").Value
TextBox1.Value = Format(TextBox1.Value, "ddd dd.mm")
Me.TextBox5 = Sheets(1).Range("B5").Value
TextBox5 = Format(TextBox5.Value, "ddd dd.mm")
Me.TextBox9 = Sheets(1).Range("C5").Value
TextBox9 = Format(TextBox9.Value, "ddd dd.mm")
Me.TextBox16 = Sheets(1).Range("D5").Value
TextBox16 = Format(TextBox16.Value, "ddd dd.mm")
Me.TextBox18 = Sheets(1).Range("E5").Value
TextBox18 = Format(TextBox18.Value, "ddd dd.mm")
Me.TextBox22 = Sheets(1).Range("F5").Value
TextBox22 = Format(TextBox22.Value, "ddd dd.mm")
Me.TextBox26 = Sheets(1).Range("g5").Value
TextBox26 = Format(TextBox26.Value, "ddd dd.mm")
'Wochentagseintrag prüfen und bei Frei, Urlaub, Schließtag die Checkbutton und das _
Beschriftungslabel ausblenden'
If Sheets(1).Range("A8").Value = "Frei" Or Sheets(1).Range("A8").Value = "Feiertag" Or Sheets(1) _
.Range("A8").Value = "Schließtag" Then
CheckBox1.Visible = False
Label2.Visible = False
Else
CheckBox1.Visible = True
Label2.Visible = True
End If
If Sheets(1).Range("B8").Value = "Frei" Or Sheets(1).Range("B8").Value = "Feiertag" Or Sheets(1) _
.Range("B8").Value = "Schließtag" Then
CheckBox2.Visible = False
Label7.Visible = False
Else
CheckBox2.Visible = True
Label7.Visible = True
End If
If Sheets(1).Range("c8").Value = "Frei" Or Sheets(1).Range("c8").Value = "Feiertag" Or Sheets(1) _
.Range("c8").Value = "Schließtag" Then
CheckBox3.Visible = False
Label9.Visible = False
Else
CheckBox3.Visible = True
Label9.Visible = True
End If
If Sheets(1).Range("d8").Value = "Frei" Or Sheets(1).Range("d8").Value = "Feiertag" Or Sheets(1) _
.Range("d8").Value = "Schließtag" Then
CheckBox4.Visible = False
Label19.Visible = False
Else
CheckBox4.Visible = True
Label19.Visible = True
End If
If Sheets(1).Range("e8").Value = "Frei" Or Sheets(1).Range("e8").Value = "Feiertag" Or Sheets(1) _
.Range("e8").Value = "Schließtag" Then
CheckBox5.Visible = False
Label23.Visible = False
Else
CheckBox5.Visible = True
Label23.Visible = True
End If
If Sheets(1).Range("f8").Value = "Frei" Or Sheets(1).Range("f8").Value = "Feiertag" Or Sheets(1) _
.Range("f8").Value = "Schließtag" Then
CheckBox6.Visible = False
Label36.Visible = False
Else
CheckBox6.Visible = True
Label36.Visible = True
End If
If Sheets(1).Range("g8").Value = "Frei" Or Sheets(1).Range("g8").Value = "Feiertag" Or Sheets(1) _
.Range("g8").Value = "Schließtag" Then
CheckBox7.Visible = False
Label37.Visible = False
Else
CheckBox7.Visible = True
Label37.Visible = True
End If
Me.TextBox2.SetFocus
End Sub