Datumsfeld / Zellinhalt formatierter Inhalt löschen

josef24

Erfahrenes Mitglied
Hallo uns schönes Wochenende. Ich bitte um Unterstützung bei folgendem Problem. Wegen neuer Situation muss ich seid neuestem in Datumsfelder
alle Angaben (z.B. Geburtstag) löschen. Die Datumsfelder sind formatiert. Sie weden über eine Eingabemaske in eine Tabelle übertragen. Wenn ich nun daraus (Eingabemaske) Inhalte lösche erscheinen sie wieder nachdem ich die Übertragung in die "ArbTab" Tabelle aktiviert habe. Bei den restlichen Daten funktioniert dies anstandslos. Könnte mich da jemand mit einer Lösung unterstützen. Hänge mal eine Beispieldatei hier an. Gruß Josef
 

Zvoni

Erfahrenes Mitglied
Ohne es getestet zu haben:
Code:
If IsDate(txtGeburtstag.Text) Then rngRow.Cells(, colAtGeburtstag).Value = CDate(txtGeburtstag.Text) 'Datumsfeld mit Format  'Die anderen 3 If IsDates auch!
in Private Sub cmdSave_Click() ' Daten übertragen , Datei – Speichern [aktive Arbeitsmappe]

Wenn du sagst, du löschst ein Datum im Formular, gehe ich von aus, du machst die Textbox leer?
Denk mal nach was "If IsDate(EineLeereTextbox.Text)" auswirft.....
 

josef24

Erfahrenes Mitglied
Danke, ja ich lösche den "Wert" ii entsprechender Textbox. Aber auch mit deinem Codetext ändert sich nichts in der Tabelle (ArbTab) ?? Das leere Datenfeld wird nicht übergeben, bzw. die Löschung wird nicht wirksam. Das ist das Ergebnis meiner Versuche bisher. Gruß Josef
 

Zvoni

Erfahrenes Mitglied
Du musst ein
Code:
If txtGeburtstag.Text="" Then
   rngRows.Cells(,colAtGeburtstag).Value=""
ElseIf IsDate(txtGeburtstag.Text) Then 'blabalbalbala
machen. Natürlich für alle 4 Datums-textfelder

P.S.: Und es ist nicht mein Codetext. Ich habe deinen Code zitiert!
 

josef24

Erfahrenes Mitglied
Sorry, wollte mit meiner Nachricht niemanden zu nahe treten. Mit folgender Codeergänzung kann ich jetzt Inhalte einfügen wie auch Inhalte aus den Datenfeldern löschen. Vielen Dank für die Unterstützung und Gruß Josef

Code:
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