Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
872to876
872to876
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Text in Datum umwandeln
31.05.2007 08:45:00
Gerhard
Hallo zusammen,
Bitte um Hilfe!
Wie kann ich via VBA aus der Arbeitsmappe >>Datenbank>210507/1400 in eine 2.Arbeitsmappe >>Übersicht >>Montag, 21.05.2007 14:00 Vielen Dank für Eure Hilfe
Gruß Gerhard

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Text in Datum umwandeln
31.05.2007 09:24:04
Oberschlumpf
Hi Gerhard
Versuch es mal mit diesem Makro:

Sub DatZeit()
Dim loZeile As Long, lstrWert As String
For loZeile = 3 To Sheets("Datenbank").Cells(Rows.Count, 2).End(xlUp).Row
lstrWert = Replace(Sheets("Datenbank").Range("B" & loZeile).Value, "/", " ")
lstrWert = Left(lstrWert, 2) & "." & Mid(lstrWert, 3, 2) & "." & Mid(lstrWert, 5, 5) _
& ":" & Right(lstrWert, 2) & ":00"
Sheets("Übersicht").Range("B" & loZeile).Value = Format(CDate(lstrWert), "dddd, dd/ _
mm/yyyy hh:nn")
Next
End Sub


Hier werden im Tabellenblatt "Datenbank" in Spalte B, ab Zeile 3 bis letzte Zeile die Werte "210507/1400"
zuerst in datumsfähige Werte, z Bsp 21.05.07 14:00 umgewandelt (siehe Zeilen mit lstrWert), und dann werden diese Datumswerte ins Tabellenblatt "Übersicht" mit dem Format "Tag(Vollanzeige), Datum(8-stellig) Uhrzeit(5-stellig) übertragen.
Konnte ich helfen?
Ciao
Thorsten

Anzeige
AW: Text in Datum umwandeln
31.05.2007 10:52:22
Gerhard
Hallo Thorsten,
funktioniert mit der Datumswandlung super, wenn das Arbeitsblatt >>Datenbank>Übersicht in der gleichen Mappe sind!
Ich habe aber die >>Datenbank.xls (Tabelle1)>Übersicht.xls (Tabelle1) Und noch ein Problem habe ich, wenn ich mit dem umgewandelten Datum rechne erscheint in der Zelle
in der die Formel eingetragen ist die Fehlermeldung >>#Wert!
Wenn ich in eine der umgewandelten Datumszellen dagegen das Datum nochmals manuell eintrage mit dem entsprechenden Format funktioniert es?
Liegt das am Format was kann ich tun?
Ich verwende das umgewandelte Format und es wird dazu eine Zeit addiert!
z.B. Montag, 21.05.2007 14:00 + 22:00 dann sollte in der Zelle Dienstag, 22.05.2007 12:00 angezeigt
werden! es erscheint aber leider die Fehlermeldung #Wert!
Vielen Dank für Deine Hilfe
Gruß Gerhard

Anzeige
AW: Text in Datum umwandeln
31.05.2007 11:28:01
Oberschlumpf
Hi Gerhard
Ich hatte deswegen beides in einer Mappe, weil du nicht die Tabellenblätter angegeben hattest - da dachte ich, du meinst mit Mappe = Tabellenblatt
(gib bitte immer alle notwendigen Infos an)
Versuch es mal mit diesem Code:

Sub DatZeit()
Dim loZeile As Long, lstrWert As String
With Workbooks("Datenbank.xls").Sheets("Tabelle1")
For loZeile = 3 To .Cells(Rows.Count, 2).End(xlUp).Row
lstrWert = Replace(.Range("B" & loZeile).Value, "/", " ")
lstrWert = Left(lstrWert, 2) & "." & Mid(lstrWert, 3, 2) & "." & Mid(lstrWert,  _
5, 5) & ":" & Right(lstrWert, 2) & ":00"
With Workbooks("Übersicht.xls").Sheets("Tabelle1")
.Range("B" & loZeile).Value = CDate(lstrWert)
.Range("B" & loZeile).NumberFormat = "dddd, dd/mm/yyyy hh:mm"
End With
Next
End With
End Sub


Beide Excel-Dateien müssen geöffnet sein.
In welche Datei du den Cod einfügst, ist egal . aber Datenbank biete sich als Quell-Datei an, oder?
Das Wert#-Problem, welches du beschrieben hast, ergibt sich wohl aus der früheren Code-Zeile mit Format(...).
Das habe ich nun gändert, in dem ich das Excel-eigene Format und nicht mehr die Format-Funktion aus VBA verwende - letzteres gibt wohl einen String und nicht ein Datum zurück.
Auf jeden Fall ergibt nun die Formel
21.05.2007 14:00:00 + Zeit(22;0;0) = Dienstag, 22.05.2007 12:00:00
Konnte ich helfen?
Ciao
Thorsten

Anzeige
AW: Text in Datum umwandeln
31.05.2007 11:57:44
Gerhard
Hallo Thorsten,
funktioniert...
Du bist super
Du hast mir schon mehrmals mit guten Lösungen geholfen
Danke...
Viele Gruße Gerhard

AW: Text in Datum umwandeln
03.06.2007 09:49:00
Gerhard
Hallo,
In meiner Anwendung ist nochmals ein Fall aufgetreten wo ich jetzt aber nur die aktive Zelle vom
Text-Format: >>210507/1400 Was muß ich machen im Makro ändern, daß sich dann nur auf die aktive Zelle bezieht?
Vielen Dank
Gruß Gerhard

418 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige