Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Datum wird nicht als Datum erkannt - VBA

Forumthread: Datum wird nicht als Datum erkannt - VBA

Datum wird nicht als Datum erkannt - VBA
16.03.2004 07:43:22
Wolfgang
Hallo*
über eine UF wird u.a. ein Datum -in Spalte B- in ein Tabellenblatt eingetragen. Format "dd.mm.yyyy"; Nun ist mir aber bewusst geworden, dass im Rahmen einer Suche mittels Datum Excel die "Zeichenfolge" so nicht als Datum erkennt (Spaltenformat ist auch auf Datum eingestellt). Erst wenn ich im Einzelfall in der Bearbeitungsleiste manuell die Entertaste betätige, wird die Zeichenfolge als Datum erkannt und mir die Zeile bei Starten des Suchlaufs in eine neue Mappe kopiert.
Was muß da evtl. geändert werden, damit quasi per VBA die Entertaste betätigt und das Datum auch als solches erkannt wird? - Danke schon jetzt wieder für Eure Hilfestellung (die ich bislang immer erhalten habe und die ich auch immer wieder nur lobend erwähnen kann!).
Gruß - Wolfgang Berger
Auszug aus dem Code für den Eintrag in Spalte B:
'Datum
Range("B2").Offset(lngAnz + 1).Value = txtDatum
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datum wird nicht als Datum erkannt - VBA
16.03.2004 07:53:44
P@ulchen
Hallo Wolfgang,
probier mal so:
Range("B2").Offset(lngAnz + 1).Value = Format(txtDatum, "dd.mm.yyyy")
Gruß aus Leipzig
P@ulchen
Das Forum lebt auch von den Rückmeldungen !
Anzeige
AW: Datum wird nicht als Datum erkannt - VBA
16.03.2004 07:58:14
Nepumuk
Hallo Wolfgang, Hallo P@ulchen,
dachte ich anfangs auch, aber die Format-Funktion liefert einen Wert von Typ Variant Untertyp String zurück. Mit Range("B2").Offset(lngAnz + 1).Value = CDate(txtDatum) funktioniert es.
Gruß
Nepumuk
AW: Datum wird nicht als Datum erkannt - VBA
16.03.2004 08:00:31
P@ulchen
Hi Nepumuk,
hab ich auch grad gemerkt...war ich wohl wieder etwas zu schnell :-(
Danke trotzdem...
Gruß aus Leipzig
P@ulchen
Das Forum lebt auch von den Rückmeldungen !
Anzeige
AW: Datum wird nicht als Datum erkannt - VBA
16.03.2004 07:54:27
Niels
Hi Wolfgang,
ich habe keine Probleme mit einer ähnlichen Anweisung,
allerdings ist bei mir der Datentype = date.
Dein Name txtDatum läßt vermuten, dass Du Strings verwendest.
Also:
Teste mal eine Typumwandlung via:
Range("B2").Offset(lngAnz + 1).Value = CDate(txtDatum)
Viel Erfolg.
Niels
Anzeige
CDate
16.03.2004 07:54:58
ChrisL
Hi Wolfgang
... = CDate(txtDatum)
Textboxen liefern drum einen String.
Gruss
Chris
Danke Allen
16.03.2004 09:00:24
Wolfgang
Hallo*
herzlichen Danke für die vielen und schnellen Rückmeldungen; Ich habe die Hinweise kopiert und werde sie heute abend zuhause umsetzen/antesten. Euch allen noch einen schönen, erfolgreichen Tag.
Gruß - Wolfgang Berger
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Datum in Excel korrekt erkennen mit VBA


Schritt-für-Schritt-Anleitung

  1. Öffne den VBA-Editor: Drücke ALT + F11, um den VBA-Editor in Excel zu öffnen.

  2. Füge ein neues Modul hinzu: Klicke mit der rechten Maustaste auf ein Projekt im Projektfenster, wähle Einfügen und dann Modul.

  3. Füge deinen Code ein: Verwende den folgenden Code, um das Datum korrekt einzufügen und zu erkennen:

    Sub DatumEintragen()
        Dim lngAnz As Long
        Dim txtDatum As String
    
        ' Beispiel Datum in dd.mm.yyyy Format
        txtDatum = "25.12.2023" 
    
        ' Eintrag in Spalte B
        Range("B2").Offset(lngAnz + 1).Value = CDate(txtDatum)
    End Sub
  4. Schließe den VBA-Editor: Speichere deine Änderungen und schließe den Editor.

  5. Führe das Makro aus: Zurück in Excel, drücke ALT + F8, wähle das Makro DatumEintragen und klicke auf Ausführen.


Häufige Fehler und Lösungen

  • Fehler: Excel erkennt das Datum nicht: Wenn du das Datum in einer Textbox eingibst, wird es als String behandelt. Verwende CDate, um es korrekt zu konvertieren.

  • Lösung: Stelle sicher, dass der Wert, den du in die Zelle schreibst, mit CDate umgewandelt wird:

    Range("B2").Offset(lngAnz + 1).Value = CDate(txtDatum)
  • Fehler: Datumsformat wird nicht erkannt: Überprüfe, ob das Datumsformat deiner Excel-Version mit dem eingegebenen Datum übereinstimmt.


Alternative Methoden

  • Direkte Formatierung: Anstatt CDate, kannst du auch die Format-Funktion verwenden, um sicherzustellen, dass das Datum im gewünschten Format angezeigt wird:

    Range("B2").Offset(lngAnz + 1).Value = Format(txtDatum, "dd.mm.yyyy")
  • Datum aus einer Zelle lesen: Wenn das Datum bereits in einer Zelle steht, verwende:

    txtDatum = Cells(1, 1).Value ' Beispiel: Zelle A1
    Range("B2").Offset(lngAnz + 1).Value = CDate(txtDatum)

Praktische Beispiele

  1. Beispiel zur Verwendung von CDate:

    Sub BeispielCDate()
        Dim txtDatum As String
        txtDatum = "01.01.2023"
        Range("B2").Value = CDate(txtDatum)
    End Sub
  2. Beispiel für die Formatierung:

    Sub BeispielFormat()
        Dim txtDatum As String
        txtDatum = "31.12.2023"
        Range("B2").Value = Format(txtDatum, "dd.mm.yyyy")
    End Sub

Tipps für Profis

  • Verwende Option Explicit: Füge Option Explicit am Anfang deines Moduls hinzu, um sicherzustellen, dass alle Variablen deklariert werden. Dies hilft, Fehler zu vermeiden.

  • Überprüfe den Datentyp: Stelle sicher, dass der Datentyp der Variablen txtDatum richtig ist, insbesondere wenn du mit Textboxen arbeitest.

  • Nutze Fehlerbehandlung: Füge Fehlerbehandlungsroutinen hinzu, um unerwartete Fehler zu vermeiden, z.B.:

    On Error Resume Next
    Range("B2").Offset(lngAnz + 1).Value = CDate(txtDatum)
    If Err.Number <> 0 Then
        MsgBox "Datum konnte nicht erkannt werden!"
    End If
    On Error GoTo 0

FAQ: Häufige Fragen

1. Warum erkennt Excel das Datum nicht?
Excel erkennt das Datum nicht, wenn es als String gespeichert ist. Verwende CDate, um sicherzustellen, dass es als Datum interpretiert wird.

2. Wie kann ich sicherstellen, dass das Datumsformat korrekt ist?
Stelle sicher, dass das eingegebene Datum dem in Excel verwendeten Datumsformat entspricht. Verwende die Funktion Format, um das Datum entsprechend zu formatieren.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige