Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Datum in Text wandeln mit VBA

Forumthread: Datum in Text wandeln mit VBA

Datum in Text wandeln mit VBA
05.08.2005 17:09:25
Jürgen H
Hallo zusammen,
angenommen ich habe in Zelle A1 folgendes Datum: 01.11.2004 06:11:37. Wie schaffe ich es mittels VBA, diese Zelle auszulesen und Nov.04 im Textformat zurück zuschreiben?
Versuche ich lediglich die Zelle zu formatieren, bleibt das original Datum ja im Hintergrund. Formatiere ich die Zelle als Text, so erscheint die Zahl, aus der Excel das Datum kreiert.
Wieder mal vielen Dank im voraus für einen Tipp.
Gruß Jürgen
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Datum in Text wandeln mit VBA
05.08.2005 17:15:40
Hajo_Zi
Hallo Jürgen,
warum reicht die Formatierung der Zelle nicht?

Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Home SP2 und Excel Version 2003 SP1.


Anzeige
AW: Datum in Text wandeln mit VBA
05.08.2005 17:23:41
Jürgen H
Grüß dich Hajo,
nun die Daten werden anschließend nach Access importiert. Mehrere Tabellen a 60000 Datensätze werden konsolidiert. Anschließend sollen dann beispielsweise gewisse Monate gefiltert werden. Ohne diese Zelle mit Datum als Text, steht wieder das komplette Datum in Access und das stört bei allen Abfragen.
Gruß Jürgen
Anzeige
AW: Datum in Text wandeln mit VBA
05.08.2005 17:26:39
Hajo_Zi
Hallo Jürgen,
und Access erkennt Text als Datum?
Benutze in VBA die Funktion Format und aussenrum Cstr
=Cstr(Format(Cells(1,3), "mmm yyyy))
Gruß Hajo

"Wer Rechtschreibfehler findet, darf sie behalten!"
Anzeige
AW: Datum in Text wandeln mit VBA
05.08.2005 17:39:25
Jürgen H
Hallo Hajo,
Access erkennt das dann nicht mehr als Datum, das macht aber nichts. Man kann zumindest nach Monaten filtern. Habe deinen Code ausprobiert und er formatiert mir die Zelle in Monat,Jahr. Schön wäre es aber, wenn´s wirklich nur Text ist und die eigentliche Datumszahl verschwindet. Ich dachte, man könnte die Information auslesen, an eine Variable übergeben, hier bearbeiten und dann wirklich als reinen Text zurückschreiben. Für dich doch bestimmt nur ein Dreizeiler.
Danke für deine Hilfe, Gruß Jürgen
Anzeige
AW: Datum in Text wandeln mit VBA
05.08.2005 17:49:38
Hajo_Zi
Hallo Jürgen,
versuche es mal in dieser Art
ActiveCell = CStr("'" & Format(Date, "mmm yyyy"))
Vielleicht kommt Access damit zurecht
Gruß Hajo

"Wer Rechtschreibfehler findet, darf sie behalten!"
Anzeige
AW: Datum in Text wandeln mit VBA
05.08.2005 18:07:35
Jürgen H
Hallo Hajo,
kann dir noch nicht sagen, ob Access es so nimmt. Ich probiere mal ein bisschen.
Jedenfalls vielen Dank für die Tipps.
Gruß Jürgen
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
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 Text umwandeln mit VBA


Schritt-für-Schritt-Anleitung

  1. Öffne deine Excel-Datei.

  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Füge ein neues Modul hinzu:

    • Rechtsklick auf "VBAProject (deine Datei)" > Einfügen > Modul.
  4. Füge den folgenden VBA-Code ein:

    Sub DatumInTextUmwandeln()
       Dim datum As Date
       Dim textDatum As String
    
       datum = Cells(1, 1).Value ' Zelle A1 auslesen
       textDatum = Format(datum, "mmm yy") ' Datum in Textformat umwandeln
       Cells(1, 2).Value = textDatum ' In Zelle B1 zurückschreiben
    End Sub
  5. Schließe den VBA-Editor und kehre zu Excel zurück.

  6. Führe das Makro aus:

    • Gehe zu Entwicklertools > Makros > Wähle DatumInTextUmwandeln und klicke auf Ausführen.

Jetzt solltest du das Datum in Zelle A1 erfolgreich in den Text "Nov 04" umgewandelt haben.


Häufige Fehler und Lösungen

  • Fehler: Das Datum wird nicht korrekt angezeigt.

    • Lösung: Stelle sicher, dass die Zelle A1 tatsächlich ein Datum und kein Text ist. Du kannst dies überprüfen, indem du die Zelle formatierst und schaust, ob das Datum korrekt angezeigt wird.
  • Fehler: Access erkennt das Datum nicht.

    • Lösung: Wenn du das Datum in Text umwandelst, stelle sicher, dass Access auch mit dem Textformat umgehen kann. Alternativ kannst du den Date-Wert in VBA nutzen, um sicherzustellen, dass du die Daten weiterhin filtern kannst.

Alternative Methoden

Ein weiterer Ansatz zur Umwandlung eines Datums in Text ist die Verwendung der CStr-Funktion in Kombination mit Format. Beispiel:

ActiveCell.Value = CStr(Format(Cells(1, 1).Value, "mmm yyyy"))

Diese Methode ist nützlich, wenn du das Datum in eine andere Zelle schreiben und die Originaldaten beibehalten möchtest.


Praktische Beispiele

  • Beispiel 1: Umwandlung eines Datums in Text und Speicherung in einer anderen Zelle.

    Sub Beispiel1()
      Dim datum As Date
      datum = Cells(1, 1).Value
      Cells(1, 2).Value = Format(datum, "mmmm yyyy") ' Vollständiger Monatsname
    End Sub
  • Beispiel 2: Nutzung der vba textformat zur Anpassung der Darstellung.

    Sub Beispiel2()
      Dim datum As Date
      datum = Cells(1, 1).Value
      Cells(1, 2).Value = CStr("'" & Format(datum, "mmm yyyy")) ' Textformat mit Apostroph
    End Sub

Tipps für Profis

  • Nutze die Format-Funktion, um verschiedene Textdarstellungen des Datums zu erhalten. Du kannst beispielsweise "dd.mm.yyyy" oder "yyyy-mm-dd" verwenden, je nach deinem Bedarf.
  • Wenn du regelmäßig mit Access arbeitest, ist es hilfreich, die Daten vorher in ein Textformat umzuwandeln, um die Abfragen zu erleichtern.
  • Berücksichtige, dass Access manchmal Probleme mit Datumsformaten hat, deshalb kann das Arbeiten mit Text in manchen Fällen die bessere Wahl sein.

FAQ: Häufige Fragen

1. Wie kann ich das Datum in ein anderes Format umwandeln?
Du kannst das Datumsformat in der Format-Funktion ändern. Beispielsweise Format(datum, "dd.mm.yyyy") für das deutsche Datumsformat.

2. Was ist der Unterschied zwischen CStr und Format?
CStr wandelt einen Wert in einen String um, während Format die Darstellung eines Wertes anpasst. Du kannst CStr nutzen, um ein Datum in einen String umzuwandeln und Format, um das Aussehen des Strings zu bestimmen.

3. Funktioniert dies auch in Access?
Ja, du kannst ähnliche VBA-Skripte verwenden, um Daten in Access von Datum in Text umzuwandeln. Achte jedoch darauf, dass Access die Daten als Text erkennt.

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