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

Forumthread: Datum und Zeit extrahieren

Datum und Zeit extrahieren
Stefan
Hallo,
wie kann ich aus einer Zelle per VBA mit dem Inhalt "22.03.2011 11:39:00" das Datum und die Uhrzeit in jeweils eine eigene Zelle übernehmen?
Das: .Cells(iCntRows, 29) = Format(.Cells(iCntRows, 8), "hhh.mm.ss") funktioniert leider nicht richtig.
Danke Euch.
Anzeige
AW: Datum und Zeit extrahieren
18.10.2011 18:31:42
ing.grohn
Hallo Stefan,
Vielleicht hilft Dir folgendes weiter: Sub Datum() Dim Test As String Dim Test1 As String Dim Test2 As String Test = Cells(1, 1).Value Test1 = Left(Test, 10) Test2 = Right(Test, 8) MsgBox Test & Chr(10) & Test1 & Chr(10) & Test2 End Sub
Mit freundlichen Grüßen
Albrecht
Anzeige
AW: Datum und Zeit extrahieren
18.10.2011 18:33:57
Matthias
Hi Stefan
Probiers mal so:
Für dieses Beispiel:
In ActiveCell steht Dein Datum + Uhrzeit
ActiveCell.Offset(, 1) = CDate(Format(ActiveCell, "DD/MM/YYYY"))
ActiveCell.Offset(, 2) = CDate(Format(ActiveCell, "hh:mm:ss"))
aber warum nimmst Du nicht Formeln?
Tabelle1

 ABC
122.03.2011 11:3922.03.201111:39

Formeln der Tabelle
ZelleFormel
B1=TEXT(A1;"TT.MM.JJJJ")
C1=TEXT(A1;"hh:mm")


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruß Matthias
Anzeige
AW: Datum und Zeit extrahieren
18.10.2011 19:00:00
Stefan
Aha, danke.
Aber wenn ich statt ActiveCell eine genaue Zellenbezeichnung angeben muss?
z.B. .Cells(30, 30)
Danke Euch
das kannst Du doch tun ... oT
18.10.2011 19:02:12
Matthias
AW: das kannst Du doch tun ... oT
18.10.2011 19:10:10
Stefan
hmm, aber wie sieht die formel denn aus?
Anzeige
jetzt mal step by step
18.10.2011 19:16:27
Matthias
Hallo

  • Wo (in welcher Zelle) steht Dein Datum + Zeit?

  • Wo soll das Datum dann separat stehen?

  • Wo soll die Zeit dann separat stehen?

  • Formel oder VBA?


Gruß Matthias
AW: jetzt mal step by step
18.10.2011 19:18:18
Stefan
VBA
in der Zelle (30,30) steht 22.03.2011 06:00:00
Daraus soll in einer Variablen dDate 22.03.2011 stehen und in
dTime 06:00:00
Danke für deine Geduld :)
Anzeige
kleine Anpassung ...
18.10.2011 19:40:25
Matthias
Hallo
ersetze bitte folgende Zeile:
MeineZeit = CDate(Format(Cells(30, 30), "hh:mm:ss"))
mit dieser Zeile
MeineZeit = CDate(Format(Cells(30, 30), "h:mm:ss"))
Gruß Matthias
Anzeige
AW: kleine Anpassung ...
18.10.2011 20:46:31
Stefan
ahhh, danke. jetzt geht es :)
Vielen Dank.
AW: Datum und Zeit extrahieren
18.10.2011 18:35:40
Hajo_Zi
Hallo Stefan,

Option Explicit
Sub Stefan()
ActiveCell.Offset(3, 0) = CDate(Format(ActiveCell, "dd.mm.yy"))
ActiveCell.Offset(4, 0) = CDate(Format(ActiveCell, "hh:mm"))
End Sub

Anzeige
wenn man sich bewusst ist, ...
18.10.2011 20:47:33
Uduuh
Hallo,
... dass ein Datum nur eine Gazzahl und eine Zeit nur ein Bruchteil eines Tages ist, ist das ganz einfach.
.Cells(iCntRows, 29) = Int(.Cells(iCntRows, 8))
.Cells(iCntRows, 30) = .Cells(iCntRows, 8)- Int(.Cells(iCntRows, 8))
Die Spalten dann einfach entsprechend formatieren.
Gruß aus’m Pott
Udo

Anzeige
Warum nicht einfach so?
18.10.2011 20:49:26
Josef

Hallo Stefan,

'Datum
Cells(1, 2) = Fix(Cells(1, 1))
'Zeit
Cells(1, 3) = Cells(1, 1) - Fix(Cells(1, 1))


« Gruß Sepp »

Anzeige
AW: Warum nicht einfach so?
19.10.2011 09:18:49
Stefan
Hallo Sepp,
die habe ich gesehen, vielen Dank dafür.
Das Datum kriege ich auch extrahiert. Aber scheinbar denkt Excel, es sei ein Text-formatierte Zelle.
Ich brauch es aber als Datum formatiert, um damit weiterarbeiten zu können.
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Datum und Uhrzeit aus Zellen extrahieren


Schritt-für-Schritt-Anleitung

Um aus einer Zelle, die sowohl Datum als auch Uhrzeit enthält, das Datum und die Uhrzeit in jeweils separate Zellen zu extrahieren, kannst du entweder VBA oder Formeln verwenden. Hier sind die Schritte für beide Methoden:

1. Mit VBA:

Du kannst den folgenden VBA-Code verwenden, um das Datum und die Uhrzeit aus einer Zelle zu extrahieren. Setze den Code in ein Modul ein:

Sub DatumUndUhrzeit()
    Dim dDate As Date
    Dim dTime As Date

    dDate = CDate(Format(Cells(30, 30), "dd.mm.yyyy")) ' Datum extrahieren
    dTime = CDate(Format(Cells(30, 30), "hh:mm:ss")) ' Uhrzeit extrahieren

    Cells(30, 31).Value = dDate ' Datum in Zelle 31 schreiben
    Cells(30, 32).Value = dTime ' Uhrzeit in Zelle 32 schreiben
End Sub

2. Mit Formeln:

Wenn du lieber Formeln verwenden möchtest, gehe wie folgt vor:

  • In Zelle B1 (neben A1, wo dein Datum und die Uhrzeit stehen) schreibe:

    =TEXT(A1;"TT.MM.JJJJ")
  • In Zelle C1 schreibe:

    =TEXT(A1;"hh:mm")

Häufige Fehler und Lösungen

  • Problem: Excel interpretiert das Datum als Text.

    • Lösung: Stelle sicher, dass die Zelle im Datumsformat formatiert ist. Du kannst dies über die Zellenformatierung ändern.
  • Problem: Falsches Ergebnis bei der Uhrzeit.

    • Lösung: Stelle sicher, dass die Formatierung korrekt ist (z.B. "hh:mm:ss"). Überprüfe auch, ob die Zelle als Zeit formatiert ist.

Alternative Methoden

Es gibt auch andere Ansätze, um das Datum und die Uhrzeit zu extrahieren:

  • Excel-Funktionen: Du kannst die Funktion DATUM() und ZEIT() verwenden, um das Datum und die Uhrzeit zu erstellen, wenn du die entsprechenden Werte hast.

  • Text-Funktionen: Mit Funktionen wie LINKS() und RECHTS() kannst du Teile des Datums und der Uhrzeit manuell extrahieren, wenn du die Struktur der Eingabedaten kennst.


Praktische Beispiele

  1. Beispiel für VBA: Wenn in Zelle A1 "22.03.2011 11:39:00" steht, kannst du den oben genannten VBA-Code verwenden, um das Datum in Zelle B1 und die Uhrzeit in Zelle C1 zu erhalten.

  2. Beispiel für Formeln: Angenommen, in Zelle A1 steht "22.03.2011 06:00:00":

    • In B1: =TEXT(A1;"TT.MM.JJJJ") gibt "22.03.2011" zurück.
    • In C1: =TEXT(A1;"hh:mm") gibt "06:00" zurück.

Tipps für Profis

  • Nutze die Funktion CDate() in VBA, um sicherzustellen, dass die Datums- und Zeitwerte korrekt interpretiert werden.
  • Überprüfe regelmäßig, ob die Zellen im richtigen Format sind, um Fehler zu vermeiden.
  • Wenn du mit großen Datenmengen arbeitest, könnte eine VBA-Lösung schneller sein als Formeln.

FAQ: Häufige Fragen

1. Wie kann ich das Datum aus einem Zeitstempel extrahieren? Du kannst die Funktion Int() verwenden, um den ganzzahligen Teil eines Zeitstempels zu erhalten, was das Datum darstellt.

2. Was mache ich, wenn Excel die Uhrzeit nicht richtig anzeigt? Stelle sicher, dass die Zelle, die die Uhrzeit enthält, im Zeitformat formatiert ist. Du kannst dies über die Zellenformatierung anpassen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige