Guten Tag zusammen.
Ich habe eine Eingabemaske worüber ich Daten eingebe, und auch Inhalte löschen kann. Bei normalen Textzellen geht da problemlos. Wenn ich nun Inhalt in einem "Datumsfeld" löschen will, funktioniert das nicht. Die dann leere Zelle wird nicht als solche erkannt, bzw. ein leeres Datenfeld wird nicht erkannt. Die Ergänzung auch ein leeres Datenfeld zu erkennen und die Tabelle mit dem "Inhalt" leeres Datenfeld zu löschen funktioniert mit meinem Code nicht. Kann mir hier vielleicht jemand weiter helfen? Gruß Josef
Mein Codetext:
Ich habe eine Eingabemaske worüber ich Daten eingebe, und auch Inhalte löschen kann. Bei normalen Textzellen geht da problemlos. Wenn ich nun Inhalt in einem "Datumsfeld" löschen will, funktioniert das nicht. Die dann leere Zelle wird nicht als solche erkannt, bzw. ein leeres Datenfeld wird nicht erkannt. Die Ergänzung auch ein leeres Datenfeld zu erkennen und die Tabelle mit dem "Inhalt" leeres Datenfeld zu löschen funktioniert mit meinem Code nicht. Kann mir hier vielleicht jemand weiter helfen? Gruß Josef
Mein Codetext:
Visual Basic:
Private Sub cmdSave_Click() ' Daten übertragen , Datei – Speichern [aktive Arbeitsmappe]
Dim lZeile As Long
Dim rngRow 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
'Zeile suchen und auslesen
If seekArb(txtPosNr, rngRow) Then 'Werte übernehmen
rngRow.Cells(, colAtPosNr).Value = Trim(CStr(txtPosNr.Text))
rngRow.Cells(, colAtNummer).Value = txtnummer.Text
rngRow.Cells(, colAtAnrede).Value = ComboBox1.Text
rngRow.Cells(, colAtNachname).Value = txtNachname.Text
rngRow.Cells(, colAtVorname).Value = txtVorname.Text
rngRow.Cells(, colAtStrasse).Value = txtStrasse.Text
rngRow.Cells(, colAtWohnort).Value = txtWohnort.Text
rngRow.Cells(, colAtTelefon).Value = txtTelefon.Text
If IsDate(txtGeburtstag.Text) Then rngRow.Cells(, colAtGeburtstag).Value = CDate(txtGeburtstag.Text) 'Datumsfeld mit Format
If IsDate(txtEintritt.Text) Then rngRow.Cells(, colAtEintritt).Value = CDate(txtEintritt.Text) 'Datumsfeld mit Format
If IsDate(txtAustritt.Text) Then rngRow.Cells(, colAtAustritt).Value = CDate(txtAustritt.Text) 'Datumsfeld mit Format
If IsDate(txtgenBis.Text) Then rngRow.Cells(, colAtgenBis).Value = CDate(txtgenBis.Text) 'Datumsfeld mit Format
rngRow.Cells(, colAtGruppe).Value = txtgruppe.Text
rngRow.Cells(, colAtKrankenkasse).Value = txtkrankenkasse.Text
rngRow.Cells(, colAtKrKNr).Value = txtKrKNr.Text
rngRow.Cells(, colAtBemerkung).Value = TxTBemerkung.Text
rngRow.Cells(, colAtZahlung).Value = TxTZahlung.Text
'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
Zuletzt bearbeitet von einem Moderator: