Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1380to1384
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Datum convertieren nach yyyy-mm-dd

Datum convertieren nach yyyy-mm-dd
26.09.2014 19:13:31
chandler

Hallo zusammen,
wie koennte man das in einer vba routine realisieren?
In der Spalte A mit einer Datum-Reihe, nach unten variabel lang, im Format: dd.mm.yyyy
soll in das Format: yyyy-mm-dd convertiert werden.
Das Datumformat sollte beibehalten bleiben.
Hat jemand eine Idee und kann helfen?
Vielen Dank im Voraus.

17
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datum convertieren nach yyyy-mm-dd
26.09.2014 20:24:20
Michael H
Hi,
for i=1 to 65536
cells(i,1)=format(cells(i,1),"YYYY-MM-DD")
if cells(i,1)="" then exit for
next i
und fertig
VG
Michael H

AW: Datum convertieren nach yyyy-mm-dd
26.09.2014 20:35:52
chandler
Hallo Michael,
vielen Dank, aber da tut sich nichts. warum nur?
Gruesse

AW: Datum convertieren nach yyyy-mm-dd
26.09.2014 20:41:37
Hajo_Zi
man könnte vermuten es stehen keine Daten in der Zelle, wie es in Deinem ersten Beitrag stand sondern nur Text der aussieht wie Daten.
Gruß Hajo

AW: Datum convertieren nach yyyy-mm-dd
26.09.2014 22:30:09
Ewald
Hallo,
wie wärs einfach so
For i = 1 To 200
Cells(i, 1).NumberFormat = "YYYY-MM-DD"
Next i
dann bleibt auch das Datum erhalten
Gruß Ewald

Anzeige
AW: Datum convertieren nach yyyy-mm-dd
27.09.2014 11:08:18
Michael H
Hi, dann versuch mal folgendes:
for i=1 to 65536
if isdate(cells(i,1)) then
cells(i,1)=format(cells(i,1),"YYYY-MM-DD")
else
cells(i,2)="Kein Datumsformat erkannt"
end if
if cells(i,1)="" then exit for
next i

AW: Datum convertieren nach yyyy-mm-dd
26.09.2014 20:35:15
Hajo_Zi
Warum nicht einfach Zellen formatieren?

AW: Datum convertieren nach yyyy-mm-dd
26.09.2014 21:01:20
chandler
Hallo Hajo,
nein, die Spalte hat bereits ein Datumformat. Warum nur die VBA Routine nicht lauft ist mir nicht klar.
Gruesse

AW: Datum convertieren nach yyyy-mm-dd
27.09.2014 09:39:30
Hajo_Zi
gut ich hatte nicht vom Format geschrieben sondern Inhalt. Auch Text kannst Du ein Datumsformat zuweisen.
Gruß Hajo

Anzeige
Makro gelaufen?
27.09.2014 10:14:36
Erich G.
Hi "chandler" (?),
"Warum nur die VBA Routine nicht lauft ist mir nicht klar." Bist du sicher? Was heißt da "läuft nicht"?
Gibt es eine Fehlermeldung?
Lass mal spaßhalber das sehr ähnliche Makro

Sub NeuFormat()
Dim ii As Long
For ii = 1 To 5
Cells(ii, 1).NumberFormat = "d/ mmm/ yy"
Next ii
End Sub
laufen. Vielleicht siehst du zunächst keine Änderung. Aber schau dir doch mal das Zahlenformat
der Zellen A1 bis A5 an. Das sollte T. MMM. JJ sein - das ist das Ergebnis des Makros.
Dass sich die Anzeige der Werte in den Zellen nicht verändert hat, wird wohl daran liegen, dass in den Zellen
kein Datum, sondern Text steht.
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich

Anzeige
Was ist ein Datum in Excel?
27.09.2014 00:44:08
Erich G.
Hi,
da wäre IMHO erst einmal zu klären, was genau in Spalte A steht. Hajo vermutete ja auch schon, dass das Texte sind.
Wenn in A2 so ein Datum steht:
Gib der Zelle A2 vorübergehend mal (per Hand) das Zahlenformat "Standard". Ändert sich die Anzeige?
Wenn da jetzt anstelle des Datums eine Zahl zu sehen ist (Größenordnung 40000), ist alles in Ordnung.
Wenn sich die Anzeige aber nicht geändert hat, also immer noch u. a. zwei Punkte zu sehen sind,
steht kein Datum, sondern ein Text in der Zelle A2.
Schreib doch mal woanders auf dem Blatt in zwei leere Zellen die Formeln
=ISTTEXT(A2)
=ISTZAHL(A2)
Wenn du in eine andere Zelle (z. B. F2) mit Standardformat die Formel
=1*A2
schreibst, wird dabei der Text in A2 zu einer Zahl, einem Datum. Aus A2="07.08.2009" wird 1*A2 = 40032.
Wenn du dann der Zelle F2 (mit dem Wert 40032) ein Datumsformat - etwa TT. MMM. JJJJ - gibst, wird die Zahl 40032
richtig als das Datum
07. Aug. 2009
angezeigt.
Empfehlen möchte ich dir das Lesen z. B. dieser Seite: http://www.online-excel.de/excel/singsel.php?f=128
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich

Anzeige
AW: Was ist ein Datum in Excel?
27.09.2014 01:51:56
Ewald
Hallo,
Zitat:

nein, die Spalte hat bereits ein Datumformat.

Gruß Ewald

na und ...
27.09.2014 08:30:03
Erich G.
Hi Ewald,
falls du damit auf meinen vorigen Beitrag antwortest:
"die Spalte hat bereits ein Datumformat": Ja, trotzdem können Texte in den Zellen stehen, oder etwa nicht?
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich und: Schönes Wochenende allerseits!

AW: Und so habe ich das geloest
27.09.2014 11:18:16
chandler
Hallo Erich,
vielen Dank, in der Tat, das Makro funktioniert man sieht bloss keine Aenderung in der Spalte.
Ich habe das so geloest, bloed nur dass man die Spalte markieren muss:
Sub test()
Dim d As Range
Columns("A1:A100").Select
For Each d In Selection
Selection.NumberFormat = "yyyy-mm-dd"
Next d
End Sub

Vielen Dank auch an Hajo und Ewald
Gruesse

Anzeige
AW: Und so habe ich das geloest
27.09.2014 11:56:03
Erich G.
Hi ,
bist du sicher, dass in deiner Routine
Columns("A1:A100").Select
steht? Bei mi ergäbe das einen Fehler 1004 - "Anwendungs- oder objektdefinierter Fehler".
Wenn ich das ersetze durch
Range("A1:A100").Select
läuft es fehlerlos durch.
"bloed nur dass man die Spalte markieren muss": Wieso das denn? In meinem Code kam kein Select vor...
Und wie wäre es mit

Sub test2()
Range("A1:A100").NumberFormat = "yyyy-mm-dd"
End Sub
Jetzt steht die 100 noch fest im Code, das kann zu viel, aber auch zu wenig sein. Variabler ist z. B.
Sub test3()
Cells(1, 1).Resize(Cells(Rows.Count, 1).End(xlUp).Row).NumberFormat = "yyyy-mm-dd"
End Sub
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich

Anzeige
AW: na und ...
27.09.2014 15:15:29
Ewald
Hallo Erich,
hatte gedacht der Wink mit dem Zaunpfahl reicht.
das Makro formatiert den Wert(Datum)um, wenn du dann in einer MSGBox anzeigen läßt siehst du auch das es richtig ist.
Danach fügst du den Wert in eine Zelle ein,die schon als Datum formatiert ist, hier erkennt Excel das es ein Datum ist und verwendet die Zellenformatierung.
Da sich dadurch nichts in der Tabelle änderte,die Mitteilung es geht nicht.
Es muß also nicht der Wert formatiert werden,sondern das Anzeigeformat und dies geht mit Numberformat.
Gruß Ewald

AW: Columns(1).NumberFormat = ... o.T.
27.09.2014 12:23:05
Gerd L
Gruß Gerd

AW: Columns(1).NumberFormat = ... o.T.
27.09.2014 15:07:52
chandler
Hallo Erich,
hallo Gerd,
vielen Dank fuer euche Hilfe. Beide Ansaetzte sich doch besser, als mein Loesungsansatz.
Nochmals vielen Dank.
Gruesse

Anzeige

151 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige