ich möchter in einer Userform bei speichern der Daten prüfen ob in Splate A "Datum"
der erste eines Monats ist, wenn Ja dan die ganze Zeile fett Formatieren.
Die Zellen sollen bei neuem Datensatz mit Rahmenlinien formatiert werden.
Vielen Dank im voraus
Gruß
Andi
'Speichern Schaltfläche Ereignisroutine
Private Sub CommandButton3_Click()
Dim lZeile As Long
'Wenn kein Datensatz in der ListBox markiert wurde, wird die Routine beendet
If ListBox1.ListIndex = -1 Then Exit Sub
'Wir müssen prüfen, ob die ID Spalte auch gefüllt ist!!
If Trim(CStr(TextBox1.Text)) = "" Then
'Meldung ausgeben
MsgBox "Sie müssen mindestens einen Namen eingeben!", vbCritical + vbOKOnly, "FEHLER!"
'Abbrechen des Speicherroutine
Exit Sub
End If
'With Me.Range("A4:X" & lZeile - 1)
' .Borders(xlEdgeTop).LineStyle = xlContinuous
' .Borders(xlEdgeBottom).LineStyle = xlContinuous
' .Borders(xlEdgeLeft).LineStyle = xlContinuous
' .Borders(xlEdgeRight).LineStyle = xlContinuous
' .Borders(xlInsideHorizontal).LineStyle = xlContinuous
' .Borders(xlInsideVertical).LineStyle = xlContinuous
'End With
'Zum Speichern benötigen wir die Zeilennummer des ausgewählten Datensatzes
lZeile = 4 'Start in Zeile 4, Zeile 1 sind ja die Überschriftrn
'Schleife solange etwas in der ersten Spalte in Tabelle 1 drin steht
Do While Trim(CStr(Tabelle20.Cells(lZeile, 1).Value)) ""
'Datensatz ID Spalte mit selektiertem Eintrag der ListBox vergleichen
If ListBox1.Text = Trim(CStr(Tabelle20.Cells(lZeile, 1).Value)) Then
'Eintrag gefunden, TextBoxen in die Zellen schreiben
Tabelle20.Cells(lZeile, 1).Value = Trim(CStr(TextBox1.Text))
Tabelle20.Cells(lZeile, 2).Value = TextBox2.Text
TextBox3.Value = Tabelle20.Cells(lZeile, 2).Value - Tabelle20.Cells(lZeile - 1, 2). _
Value
Tabelle20.Cells(lZeile, 3).Value = TextBox3.Text
Tabelle20.Cells(lZeile, 4).Value = Format(TextBox4.Text, "0 °C")
Tabelle20.Cells(lZeile, 5).Value = TextBox5.Text
TextBox6.Value = Tabelle20.Cells(lZeile, 5).Value - Tabelle20.Cells(lZeile - 1, 5). _
Value
Tabelle20.Cells(lZeile, 6).Value = TextBox6.Text
Tabelle20.Cells(lZeile, 7).Value = Format(TextBox7.Text, "0 °C")
Tabelle20.Cells(lZeile, 8).Value = TextBox8.Text
TextBox8.Value = Tabelle20.Cells(lZeile, 9).Value - Tabelle20.Cells(lZeile - 1, 9). _
Value
Tabelle20.Cells(lZeile, 9).Value = TextBox9.Text
Tabelle20.Cells(lZeile, 10).Value = Format(TextBox10.Text, "0 °C")
Tabelle20.Cells(lZeile, 11).Value = TextBox11.Text
TextBox11.Value = Tabelle20.Cells(lZeile, 12).Value - Tabelle20.Cells(lZeile - 1, _
12).Value
Tabelle20.Cells(lZeile, 12).Value = TextBox12.Text
Tabelle20.Cells(lZeile, 13).Value = Format(TextBox13.Text, "0 °C")
Tabelle20.Cells(lZeile, 14).Value = TextBox14.Text
TextBox14.Value = Tabelle20.Cells(lZeile, 15).Value - Tabelle20.Cells(lZeile - 1, _
15).Value
Tabelle20.Cells(lZeile, 15).Value = TextBox15.Text
Tabelle20.Cells(lZeile, 16).Value = Format(TextBox16.Text, "0 °C")
Tabelle20.Cells(lZeile, 17).Value = TextBox17.Text
TextBox17.Value = Tabelle20.Cells(lZeile, 18).Value - Tabelle20.Cells(lZeile - 1, _
18).Value
Tabelle20.Cells(lZeile, 18).Value = TextBox18.Text
Tabelle20.Cells(lZeile, 19).Value = Format(TextBox19.Text, "0 °C")
Tabelle20.Cells(lZeile, 20).Value = TextBox20.Text
Tabelle20.Cells(lZeile, 21).Value = TextBox20.Text
TextBox21.Value = Tabelle20.Cells(lZeile, 22).Value - Tabelle20.Cells(lZeile - 1, _
22).Value
Tabelle20.Cells(lZeile, 22).Value = TextBox20.Text
Tabelle20.Cells(lZeile, 23).Value = Format(TextBox23.Text, "0 °C")
Tabelle20.Cells(lZeile, 24).Value = TextBox20.Text
'Die ListBox muss nun neu geladen werden
'allerdings nur wenn sich der Name (ID) geändert hat
If ListBox1.Text Trim(CStr(TextBox1.Text)) Then
Call UserForm_Initialize
If ListBox1.ListCount > 0 Then ListBox1.ListIndex = 0
End If
Exit Do 'Vorzeitiges Ende, da der Datensatz schon gefunden ist
End If
lZeile = lZeile + 1 'Nächste Zeile bearbeiten
Loop
End Sub