Private Sub cmdSave_Click() ' Daten übertragen , Datei – Speichern [aktive Arbeitsmappe]
Dim lZeile As Long
Dim rngRow As Range
' dim Cdate as Range
If lstData.ListIndex = -1 Then Exit Sub
If Trim(CStr(txtPosNr.Text)) = "" Then
MsgBox "Sie müssen mindestens eine Nummer eingeben!", vbCritical + vbOKOnly, "FEHLER!"
Exit Sub
End If
ausuf = True
'Zeile suchen und auslesen
If seekArb(txtPosNr, rngRow) Then 'Werte übernehmen
Worksheets("ArbTab").Unprotect ' HIERMIT WIRD DIE TABELLE "ARBTAB" FÜR DEN ZUGRIFF GEÖFFNET
If rngRow.Cells(, colAtPosNr).Value <> CLng(Trim(CStr(txtPosNr.Text))) Then mvntWert = rngRow.Cells(, colAtPosNr).Value: rngRow.Cells(, colAtPosNr).Value = Trim(CStr(txtPosNr.Text))
If rngRow.Cells(, colAtNummer).Value <> txtnummer.Text Then mvntWert = rngRow.Cells(, colAtNummer).Value: rngRow.Cells(, colAtNummer).Value = txtnummer.Text
If rngRow.Cells(, colAtAnrede).Value <> ComboBox1.Text Then mvntWert = rngRow.Cells(, colAtAnrede).Value: rngRow.Cells(, colAtAnrede).Value = ComboBox1.Text
If rngRow.Cells(, colAtNachname).Value <> txtNachname.Text Then mvntWert = rngRow.Cells(, colAtNachname).Value: rngRow.Cells(, colAtNachname).Value = txtNachname.Text
If rngRow.Cells(, colAtVorname).Value <> txtVorname.Text Then mvntWert = rngRow.Cells(, colAtVorname).Value: rngRow.Cells(, colAtVorname).Value = txtVorname.Text
If rngRow.Cells(, colAtStrasse).Value <> txtStrasse.Text Then mvntWert = rngRow.Cells(, colAtStrasse).Value: rngRow.Cells(, colAtStrasse).Value = txtStrasse.Text
If rngRow.Cells(, colAtWohnort).Value <> txtWohnort.Text Then mvntWert = rngRow.Cells(, colAtWohnort): rngRow.Cells(, colAtWohnort).Value = txtWohnort.Text
If rngRow.Cells(, colAtTelefon).Value <> txtTelefon.Text Then mvntWert = rngRow.Cells(, colAtTelefon).Value: rngRow.Cells(, colAtTelefon).Value = txtTelefon.Text
' Beginnt hier DATUMSFELD LÖSCHEN WIE AUCH EINGEBEN MÖGLICH
If txtGeburtstag.Text = "" Then
rngRow.Cells(, colAtGeburtstag).Value = ""
ElseIf IsDate(txtGeburtstag.Text) Then
If rngRow.Cells(, colAtGeburtstag).Value <> CDate(txtGeburtstag.Text) Then mvntWert = rngRow.Cells(, colAtGeburtstag).Value: rngRow.Cells(, colAtGeburtstag).Value = CDate(txtGeburtstag.Text) 'Datumsfeld mit Format
End If
If txtEintritt.Text = "" Then
rngRow.Cells(, colAteintritt).Value = ""
ElseIf IsDate(txtEintritt.Text) Then
If rngRow.Cells(, colAteintritt).Value <> CDate(txtEintritt.Text) Then mvntWert = rngRow.Cells(, colAteintritt).Value: rngRow.Cells(, colAteintritt).Value = CDate(txtEintritt.Text) 'Datumsfeld mit Format
End If
If txtAustritt.Text = "" Then
rngRow.Cells(, colAtAustritt).Value = ""
ElseIf IsDate(txtAustritt.Text) Then
If rngRow.Cells(, colAtAustritt).Value <> CDate(txtAustritt.Text) Then mvntWert = rngRow.Cells(, colAtAustritt).Value: rngRow.Cells(, colAtAustritt).Value = CDate(txtAustritt.Text) 'Datumsfeld mit Format
End If
If txtgenBis.Text = "" Then
rngRow.Cells(, colAtgenbis).Value = ""
ElseIf IsDate(txtgenBis.Text) Then
If rngRow.Cells(, colAtgenbis).Value <> CDate(txtgenBis.Text) Then mvntWert = rngRow.Cells(, colAtgenbis).Value: rngRow.Cells(, colAtgenbis).Value = CDate(txtgenBis.Text) 'Datumsfeld mit Format
End If
' Endet hier
If rngRow.Cells(, colAtGruppe).Value <> txtgruppe.Text Then mvntWert = rngRow.Cells(, colAtGruppe).Value: rngRow.Cells(, colAtGruppe).Value = txtgruppe.Text
If rngRow.Cells(, colAtKrankenkasse).Value <> txtkrankenkasse.Text Then mvntWert = rngRow.Cells(, colAtKrankenkasse).Value: rngRow.Cells(, colAtKrankenkasse).Value = txtkrankenkasse.Text
If rngRow.Cells(, colAtKrKNr).Value <> txtKrKNr.Text Then mvntWert = rngRow.Cells(, colAtKrKNr).Value: rngRow.Cells(, colAtKrKNr).Value = txtKrKNr.Text
If rngRow.Cells(, colAtBemerkung).Value <> TxTBemerkung.Text Then mvntWert = rngRow.Cells(, colAtBemerkung).Value: rngRow.Cells(, colAtBemerkung).Value = TxTBemerkung.Text
If rngRow.Cells(, colAtZahlung).Value <> TxTZahlung.Text Then mvntWert = rngRow.Cells(, colAtZahlung).Value: rngRow.Cells(, colAtZahlung).Value = TxTZahlung.Text
ausuf = False
'User Formular neu laden
lZeile = Me.lstData.ListIndex 'Listindex merken
Call UserForm_Initialize
Me.lstData.ListIndex = lZeile 'wiederherstellen
Else
MsgBox "Nummer " & txtPosNr.Text & " nicht gefunden", vbExclamation + vbOKOnly
End If
Call cmdNew_Click
End Sub