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

Formatiert Text nicht als Datum

Formatiert Text nicht als Datum
21.12.2008 08:20:33
Günter
Hallo Zusammen,
ich habe wieder ein sicherlich einfaches Problem.
In Spalte A stehen Werte wie "18.12 15:30".
Die Spalte ist als Datum formatiert.
Um nun ein komplettes Datum mit Jahr zu bekommen habe ich folgendes Makro geschrieben:

Sub JahrErgaenzen()
Dim Z As Integer
For Z = 2 To activesheet.Cells(Rows.Count, 1).End(xlUp).Row
Cells(Z, 1).Value = Format(Left(Cells(Z, 1).Value, 5) & _
".08" & Right(Cells(Z, 1).Value, Len(Cells(Z, 1).Value) - 5), _
"d/m/yy h:mm;@")
Next Z
End Sub


Das Makro fügt auch das Jahr ohne Probleme ein.
Nur aus dem ursprünglich Textformat wird kein Datum.
Das geschieht erst, wenn ich mit dem Cursor die Zelle aktiviere und wieder verlasse.
Was fehlt in dem Makro?
Gruß Günter

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Formatiert Text nicht als Datum
21.12.2008 08:51:32
hary
Hallo Günter
versuchs mal mit diesem. Geaenderte beschrieben

Sub JahrErgaenzen()
Dim Z As Integer
For Z = 2 To activesheet.Cells(Rows.Count, 1).End(xlUp).Row
Cells(Z, 1).Value = Format(Left(Cells(Z, 1).Value, 5) & _
".08" & Right(Cells(Z, 1).Value, Len(Cells(Z, 1).Value) - 5), _
"d/m/yy h:mm;@")
Cells(Z, 1).NumberFormat = "yyyy-mm-dd"           ' eingefuegt
Next Z
End Sub


Gruss Hary

AW: Formatiert Text nicht als Datum
21.12.2008 09:22:05
Günter
Hallo Harry,
es funktioniert nicht.
Hier meine Aktualisierung:

Sub JahrErgaenzen()
Dim Z As Integer
For Z = 2 To activesheet.Cells(Rows.Count, 1).End(xlUp).Row
Cells(Z, 1).Value = Format(Left(Cells(Z, 1).Value, 5) & _
".2008" & Right(Cells(Z, 1).Value, Len(Cells(Z, 1).Value) - 5), _
"dd/mm/yyyy hh:mm:ss")
Cells(Z, 1).NumberFormat = "dd/mm/yyyy hh:mm:ss"           ' eingefuegt
Next Z
End Sub


Hast Du vielleicht noch eine andere Idee?
Gruß Günter

Anzeige
OK -> Formatiert Text nicht als Datum
21.12.2008 09:34:00
Günter
Hallo,
ich habe die Lösung selbst gefunden.

Sub JahrErgaenzen()
Dim Z As Integer, d As Date
For Z = 2 To activesheet.Cells(Rows.Count, 1).End(xlUp).Row
d = Format(Left(Cells(Z, 1).Value, 5) & _
".2008" & Right(Cells(Z, 1).Value, Len(Cells(Z, 1).Value) - 5), _
"dd/mm/yy hh:mm")
Cells(Z, 1) = d
Next Z
End Sub


Sie ist vielleicht nicht elegant aber funktioniert!
Gruß Günter

warum so umständlich
21.12.2008 09:41:38
Matthias
Hallo
Du hattest doch geschrieben Spalte A ist schon als Datum formatiert.
Dann steht doch schon eine Jahreszahl in der Zelle, die ja nur durch Dein Format
nicht in der Zelle angezeigt wird.(in der Bearbeitungsleiste müsste die Jahreszahl doch zu sehen sein)
Userbild
also reicht doch:

Sub Ansicht()
ActiveSheet.Range("A2:A" & Cells(Rows.Count, 1).End(xlUp).Row).NumberFormat = "DD/MM/YYYY h:mm"
End Sub


Anzeige
AW: warum so umständlich
21.12.2008 09:46:00
Günter
Hallo Matthias,
ich importiere die Spalte A aus eine TXT-Datei und dort fehlt das Jahr.
Trotzdem danke für deine Hilfe.
Gruß Günter
AW: Formatiert Text nicht als Datum
21.12.2008 10:08:25
Erich
Hallo Günter,
Format liefert als Funktionswert einen TEXT, da kannst du formatieren wie du willst, es bleibt Text.
So geht es - mit Formeln wie in C1 oder D1. Den Wert in B1 hat das Makro geschrieben:
Tabelle1

 ABCD
118.12 15:3018.12.08 15:3018.12.08 15:3018.12.08 15:30
2TextDatumDatumDatum

Formeln der Tabelle
ZelleFormel
C1=DATWERT(A1)+ZEITWERT(A1)
D1=A1*1

Und hier das "Makro":

Sub Test()
Cells(1, 2) = CDate(Cells(1, 1))
End Sub

Die aktuelle Jahreszahl wird automatisch ergänzt. Wenn es nicht das aktuelle Jahr,
sondern 2008 sein soll, musst du den Text so ergänzen, wie du es getan hast, und dann CDare anwenden.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
OK mit CDATE: Formatiert Text nicht als Datum
21.12.2008 10:14:00
Günter
Hallo Erich,
ich hatte mir gedacht, dass es eine elegantere Lösung gibt.
"CDATE" ist DIE Lösung.
Es funktioniert tadellos.
Danke Günter
AW: Formatiert Text nicht als Datum
21.12.2008 11:37:00
Tino
Hallo Günter,
der Import ist doch dieser Beitrag.
https://www.herber.de/forum/messages/1034401.html
Du fügst das aktuelle Jahr (08) dazu,
wenn Du beim Import die Spalte 1 als Datum einstellst, wird doch automatisch dass aktuelle Jahr angefügt.
Gruß Tino
AW: Formatiert Text nicht als Datum
21.12.2008 12:12:00
Günter
Hallo Tino,
ja es ist dieser Betrag.
Das Problem war, dass es nicht immer das aktuelle Jahr ist, das (automatisch) ergänzt werden soll.
Gruß Günter
Anzeige
ok. oT.
21.12.2008 12:13:00
Tino

337 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige