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

Forumthread: String in Date Format

String in Date Format
05.07.2007 20:35:00
Anja
Hallo Profis,
wie kann ich in VBA ein STRING in DATE Format umwandeln?
zum Beispiel: "7 Juni 2007" in normales Datum 07.06.2007.
Ich freue mich über jede Hilfe!
Danke!
Anja

Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: String in Date Format
05.07.2007 20:38:36
Hajo_Zi
Hallo Anja,
Option Explicit Sub Anja() Dim DaDatum As Date Dim StDatum As String DaDatum = "7.Juni.2007" StDatum = Format(DaDatum, "dd.mm.yy") MsgBox StDatum End Sub



AW: String in Date Format
05.07.2007 21:22:00
Anja
Danke :)
ich probiere es gleich aus!

Anzeige
AW: String in Date Format
05.07.2007 22:21:40
Anja
hi,
wie es aussieht die funktion macht umgekehrt Datum in String.
Es ändert sich nichts :(

AW: String in Date Format
05.07.2007 22:37:41
{Boris}
Hi Anja,
Hajo hatte es umgekehrt interpretiert.
Option Explicit

Sub anja()
Const STRDAT As String = "7 Juni 2007"
Dim strAsDate As Date
strAsDate = DateValue(STRDAT)
MsgBox strAsDate
End Sub


Grüße Boris

Anzeige
AW: String in Date Format
06.07.2007 01:51:55
Anja
Es funktioniert nicht :(
Oooo,... ich bin schon am Verzweifeln! :(
Ich habe hier eine noch zusätzliche Beispiel Datei aufgebaut.
in der Celle A2 steht dieses String, das in Datum umgewandelt werden soll.
Das umgewandelte Datum soll in C2 stehen.
ich habe es noch so geschrieben wie in der Datei gezeigt ist.
https://www.herber.de/bbs/user/43876.xls
Die code ist wie gesagt, in VBA zu sehen.
Bitte HILFE!
Jetzt kann ich nicht schlafen :(
muss das morgen auf jeden fall hinbekommen.
Danke euch für jede Hilfe!
Anja

Anzeige
AW: String in Date Format
06.07.2007 07:44:42
Hajo_Zi
Hallo Anja,
warum muss es VBA sein?
anrufe

 ABC
210.11.2007 10.11.2007
312.12.2007  
421.12.2007  

Formeln der Tabelle
ZelleFormel
C2=A2*1


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruß Hajo

Anzeige
AW: String in Date Format
06.07.2007 07:56:21
Case
Hallo,
per VBA müsste es eigentlich mit der Typ-Umwandlungsfunktion (CDate) gehen. Im folgenden Beispiel Bereich MARKIEREN und Makro sausen lassen:

Option Explicit
Public Sub Text_Datum()
Dim rngZelle As Range
For Each rngZelle In Selection.Cells
With rngZelle
If IsNumeric(.Text) Then
.Value = CDate(.Text)
End If
End With
Next rngZelle
End Sub


Servus

Case


Anzeige
AW: String in Date Format
06.07.2007 13:26:00
Anja
Hi!
ich danke euch für die Hilfe!
Es hat mir sehr geholfen :)
viele Grüße
Anna
;

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
Anzeige

Infobox / Tutorial

String in Date Format umwandeln in Excel VBA


Schritt-für-Schritt-Anleitung

Um einen String in ein Date-Format in Excel VBA umzuwandeln, kannst Du die Funktion CDate oder DateValue verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne den VBA-Editor: Drücke ALT + F11.

  2. Füge ein neues Modul hinzu: Klicke mit der rechten Maustaste auf "VBAProject" und wähle "Einfügen" > "Modul".

  3. Gib den folgenden Code ein:

    Option Explicit
    
    Sub StringInDatumUmwandeln()
       Dim strDatum As String
       Dim convertedDate As Date
    
       strDatum = "7 Juni 2007" ' Der String, den Du umwandeln möchtest
       convertedDate = DateValue(strDatum) ' Umwandlung
    
       MsgBox "Das umgewandelte Datum ist: " & Format(convertedDate, "dd.mm.yyyy")
    End Sub
  4. Führe das Makro aus: Drücke F5, um das Makro auszuführen und das umgewandelte Datum anzuzeigen.


Häufige Fehler und Lösungen

  • Problem: Das Datum wird nicht korrekt umgewandelt.

    • Lösung: Stelle sicher, dass das Datumsformat korrekt angegeben ist, z. B. "7 Juni 2007". Wenn Du ein anderes Format verwendest, könnte die Umwandlung fehlschlagen.
  • Problem: CDate funktioniert nicht wie erwartet.

    • Lösung: Überprüfe, ob der String tatsächlich ein gültiges Datum darstellt. Ein ungültiger String führt zu einem Laufzeitfehler.

Alternative Methoden

Neben der Verwendung von CDate und DateValue kannst Du auch andere Ansätze ausprobieren:

  • Direkte Umwandlung in Excel: Wenn Du einen String in einer Zelle hast, kannst Du in einer anderen Zelle einfach =A1*1 verwenden, um den Text in ein Datum zu konvertieren, wobei A1 die Zelle mit dem String ist.

  • Verwendung von VBA zur Formatierung: Wenn Du das Datum in einem bestimmten Format benötigst, kannst Du die Funktion Format verwenden, um das Datum anzuzeigen:

    MsgBox Format(convertedDate, "dd.mm.yyyy")

Praktische Beispiele

Hier sind einige praktische Beispiele für die Umwandlung von Strings in Datumsformate in VBA:

  1. Beispiel für die Umwandlung eines Strings:

    Dim strDatum As String
    strDatum = "15 August 2021"
    MsgBox CDate(strDatum) ' Gibt 15.08.2021 aus
  2. Beispiel für die Umwandlung mehrerer Zellen:

    Sub MehrereDatumsUmwandlungen()
       Dim rngZelle As Range
    
       For Each rngZelle In Selection.Cells
           If IsNumeric(rngZelle.Value) Then
               rngZelle.Value = CDate(rngZelle.Value)
           End If
       Next rngZelle
    End Sub

Tipps für Profis

  • Fehlerbehandlung: Füge Fehlerbehandlungslogik hinzu, um sicherzustellen, dass Dein Code robust ist. Verwende On Error Resume Next, um Laufzeitfehler zu ignorieren.

  • Datumsformate anpassen: Nutze Format in VBA, um das Datum nach Deinen Bedürfnissen zu formatieren, z. B. Format(Date, "dd-mm-yyyy").

  • Kommentare: Kommentiere Deinen Code, um die Verständlichkeit zu erhöhen, insbesondere wenn Du komplexe Umwandlungen durchführst.


FAQ: Häufige Fragen

1. Wie kann ich ein Datum wieder in einen String umwandeln?
Du kannst die Funktion Format verwenden, um ein Datum in einen String zu formatieren, z. B.:

Dim myDate As Date
myDate = Date
MsgBox Format(myDate, "dd.mm.yyyy") ' Gibt das Datum als String aus

2. Funktioniert das auch mit anderen Datumsformaten?
Ja, Du kannst CDate oder DateValue mit verschiedenen Datumsformaten verwenden, solange der String ein gültiges Datum darstellt. Achte darauf, dass das Format mit den regionalen Einstellungen Deines Excel übereinstimmt.

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