Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
904to908
904to908
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Datum (String) in Datum umwandeln

Datum (String) in Datum umwandeln
13.09.2007 10:06:42
Peter
Liebes Forum
Ich habe eine Tabelle, in der in Spalte E verschiedene Daten ("28.11.1999", "13.12.2000") etc. eingetragen sind. Das Problem ist, dass, es sich um einen String und nicht um ein "wirkliches" Datum handelt. Dem ganzen Bereich mit diesen Einträgen (innerhalb der Spalte E) habe ich den Namen "eDatumSp" gegeben.
Wie kann ich die einzelnen Strings in ein Datum umwandeln? Da es sich hier um Exporte handelt, die immer wieder in dieser Form "daher kommen", möchte ich dies mit VBA automatisieren.
Danke für jede Hilfestellung.
Peter
?
With Range("EdatumSp")
.value = date
?
End With
?

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datum (String) in Datum umwandeln
13.09.2007 10:31:00
Peter
Hallo Peter,
vielleicht so, wenn das Datum immer in Anführungszeichen mit Punkten und ls TT.MM.JJJJ daherkommt.


Option Explicit
Public Sub Datum_machen()
Dim lZeile  As Long
Dim sDatum  As String
   For lZeile = 2 To Range("E65536").End(xlUp).Row
      sDatum = Range("E" & lZeile).Value
      Range("E" & lZeile).Value = _
         CDate(Mid(sDatum, 2, 2) & "." & Mid(sDatum, 5, 2) & "." & Mid(sDatum, 8, 4))
   Next lZeile
End Sub 


Gruß Peter

Anzeige
AW: Datum (String) in Datum umwandeln
13.09.2007 10:36:46
Wolli
Hallo Peter, so sollte es gehen! Gruß, Wolli

Sub test()
Dim c As Range, _
i As Long
For Each c In Range("eDatumSp")
i = i + 1
Debug.Print i
If Not (IsEmpty(c)) Then
c.Value = CDate(c.Value)
c.NumberFormat = "dd.mm.yyyy"
End If
Next c
End Sub


AW: Datum (String) in Datum umwandeln
13.09.2007 11:05:00
Peter
Hallo Peter und Wolli
Vielen Dank für die Rückmeldungen.
Peter habe ich mit meinen Anführungszeichen beim Datum etwas fehlgeleitet. Diese stehen nicht in den Zellen. Daher konnt ich in Abwandlung den unten aufgeführten Code schreiben (Daten stehen nun in Spalte I).
Auch der code von Wolli ergibt das gewünschte Ergebnis (ich bin davon ausgegangen, dass ich i = i+ 1 und debug.print i nicht benötige und daher auskommentieren kann.
Nochmals besten Dank!!
Peter
With Sheets("GLOBAL")
For lZeile = lngAnf To lngEnd
sdatum = .Range("I" & lZeile).Value
.Range("I" & lZeile).Value = CDate(sdatum)
Next lZeile
End With
Anzeige

400 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige