Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Zellinhalt (Datum und Uhrzeit ) aufteilen

Zellinhalt (Datum und Uhrzeit ) aufteilen
16.02.2017 18:53:52
Eric
Hallo,
ich möchte aus einer eingelesenen Textdatei ein Zellinhalt der aus einem Datum und einer uhrzeit besteht in zwei Zellen per Makro aufteilen.
Das aufgezeichnete Makro funktioniert aber nicht.
Sub TabelleTrennen() ' TabelleTrennen Makro Columns("A:A").Select Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _ TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=False, _ Semicolon:=False, Comma:=False, Space:=True, Other:=False, FieldInfo _ :=Array(Array(1, 1), Array(2, 0)), TrailingMinusNumbers:=True Range("A1").Select ActiveCell.FormulaR1C1 = "Datum" Range("B1").Select ActiveCell.FormulaR1C1 = "Uhrzeit" End Sub Kann mir jemand weiterhelfen?
Vielen Dank! Eric
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellinhalt (Datum und Uhrzeit ) aufteilen
16.02.2017 19:52:00
ransi
Hallo Eric,
LAde doch bitte mal eine Beispieldatei hoch.
ransi
AW: Zellinhalt (Datum und Uhrzeit ) aufteilen
16.02.2017 20:24:29
Piet
Hallo Eric
ich weiss nicht ob die Frage mit meiner Lösung beantwortet ist, lasse den Thread offen.
Unten ist ein Makro Code der zeigt wie man eine Zelle in Datum und Uhrzeit aufteilen kann.
Dabei ist für die Variable zu beachten ob die Zelle als Datum oder als Text formatiert ist?
Wenn man es nicht weiss die Variable besser auf Variant setzen.
Auf Select bitte verzichten, man kann .Value direkt hinten dransetzen: Range("B1").Value = xxx
Steht dort "Datum, Uhrzeit" versteht Excel das schlicht und einfach als Text, nicht als Datum!!
mfg Piet
'Textdatei als Datum einlesen
Sub Datum_aufteilen()
Dim Datum As Date, DatTxt As String
DatTxt = Range("A1")    'Zelle als Text formatiert
Datum = Range("A2")     'Zelle als Datum formatiert
Range("B1") = CDate(Mid(DatTxt, 1, 10))
Range("C1") = Format(Right(DatTxt, 8), "h:mm:ss")
Range("B2") = CDate(Mid(Datum, 1, 10))
Range("C2") = Format(Right(Datum, 8), "h:mm:ss")
End Sub

Anzeige
AW: Zellinhalt (Datum und Uhrzeit ) aufteilen
16.02.2017 20:48:43
ransi
HAllo Eric,
Warum willst du da mit VBA ran?
Versuchs doch erstmal "im Guten":
Tabelle1

 ABCD
1Time heat energy [MWh]power [kW]
214.02.201709:25270,41271,97
314.02.201709:35270,45239,89
414.02.201709:45270,49206,24
514.02.201709:55270,52168,06
614.02.201710:05270,55136,13
714.02.201710:15270,57115,67
814.02.201710:25270,5890,43
914.02.201710:35270,668,06

Formeln der Tabelle
ZelleFormel
B2=A2-GANZZAHL(A2)


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
A:A formatierst du so: TT.MM.JJJJ
B:B formatierst du so: hh:mm
ransi
Anzeige
AW: Zellinhalt (Datum und Uhrzeit ) aufteilen
16.02.2017 21:13:08
Eric
Hallo Ransi,
vielen Dank!
Die Aufteilung der Zelle ist nur ein Teil des Makros. Die Datei wird eingelesen, danach wird eine Spalte eingefügt, dann soll die Zelle aufgeteilt werden, dann werden die Spalten A + B formatiert und zum Schluss wird aus den Daten ein Diagramm erstellt. Bis auf die Aufteilung der Zelle hat alles funktioniert. Es werden in regelmäßigen Abständen neue Daten eingelesen, deshalb möchte ich den Vorgang automatisieren.
Eric
Anzeige
AW: Zellinhalt (Datum und Uhrzeit ) aufteilen
17.02.2017 06:20:35
Werner
Hallo Eric,
mit deiner hochgeladenen Testdatei funktioniert das mit diesem Code:
Sub Makro1()
Dim rngBereich As Range
Dim loLetzte As Long
Application.ScreenUpdating = False
Application.DisplayAlerts = False
With Sheets("Tabelle1")
loLetzte = .Cells(.Rows.Count, 1).End(xlUp).Row
Set rngBereich = .Range(.Cells(1, 1), .Cells(loLetzte, 1))
rngBereich.TextToColumns Destination:=.Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=True, _
Semicolon:=False, Comma:=False, Space:=True, Other:=False, FieldInfo _
:=Array(Array(1, 1), Array(2, 1)), TrailingMinusNumbers:=True
.Columns(3).Delete
End With
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub
Spalte C muss gelöscht werden, da bei Text in Spalten auch noch das AM bzw. FM mitgeliefert wird und das in Spalte C eingetragen wird.
Gruß Werner
Anzeige
AW: Zellinhalt (Datum und Uhrzeit ) aufteilen
17.02.2017 13:35:59
Eric
Hallo Werner,
das Makro läuft. Vielen Dank
Gruß Eric
Gerne u. Danke für die Rückmeldung. o.w.T.
17.02.2017 20:41:57
Werner
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Zellinhalt (Datum und Uhrzeit) aufteilen


Schritt-für-Schritt-Anleitung

  1. Makro erstellen: Öffne Excel und drücke Alt + F11, um den VBA-Editor zu öffnen. Klicke auf Einfügen > Modul, um ein neues Modul zu erstellen.

  2. Code einfügen: Kopiere den folgenden Code in das Modul:

    Sub Datum_aufteilen()
       Dim DatTxt As String
       DatTxt = Range("A1") ' Zelle mit Datum und Uhrzeit
       Range("B1") = CDate(Mid(DatTxt, 1, 10)) ' Datum
       Range("C1") = Format(Right(DatTxt, 8), "h:mm:ss") ' Uhrzeit
    End Sub
  3. Makro ausführen: Schließe den VBA-Editor und gehe zurück zu Excel. Drücke Alt + F8, wähle Datum_aufteilen und klicke auf Ausführen.

  4. Formatierung: Stelle sicher, dass die Spalten B und C entsprechend formatiert sind (B als Datum und C als Uhrzeit).


Häufige Fehler und Lösungen

  • Problem: Zelle wird als Text behandelt.

    • Lösung: Stelle sicher, dass die Zelle als Datum formatiert ist. Du kannst die Formatierung ändern, indem du mit der rechten Maustaste auf die Zelle klickst und Zellen formatieren auswählst.
  • Problem: Fehlermeldung beim Ausführen des Makros.

    • Lösung: Überprüfe den Code auf Tippfehler und stelle sicher, dass die Daten in der richtigen Zelle stehen.

Alternative Methoden

  • Text in Spalten: Du kannst auch die Funktion „Text in Spalten“ verwenden, um Datum und Uhrzeit zu trennen:

    1. Markiere die Zelle mit dem Datum und der Uhrzeit.
    2. Gehe zu Daten > Text in Spalten.
    3. Wähle Getrennt und klicke auf Weiter.
    4. Wähle als Trennzeichen das Leerzeichen aus und klicke auf Fertig stellen.
  • Excel-Formel: Du kannst auch eine Formel verwenden, um das Datum und die Uhrzeit zu trennen:

    • Für das Datum: =GANZZAHL(A1)
    • Für die Uhrzeit: =A1-GANZZAHL(A1)

Praktische Beispiele

  1. Beispiel 1: Angenommen, in Zelle A1 steht 14.02.2017 09:25, dann gibt die Formel =GANZZAHL(A1) in Zelle B1 das Datum 14.02.2017 zurück und =A1-GANZZAHL(A1) in Zelle C1 die Uhrzeit 09:25.

  2. Beispiel 2: Verwende das Makro, um mehrere Zellen in einem Bereich schnell zu trennen:

    Sub Makro1()
       Dim rngBereich As Range
       Dim loLetzte As Long
       With Sheets("Tabelle1")
           loLetzte = .Cells(.Rows.Count, 1).End(xlUp).Row
           Set rngBereich = .Range(.Cells(1, 1), .Cells(loLetzte, 1))
           rngBereich.TextToColumns Destination:=.Range("A1"), DataType:=xlDelimited, _
           TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=True, _
           Semicolon:=False, Comma:=False, Space:=True, Other:=False, FieldInfo _
           :=Array(Array(1, 1), Array(2, 1)), TrailingMinusNumbers:=True
       End With
    End Sub

Tipps für Profis

  • Automatisierung: Wenn Du regelmäßig Daten einliest, kannst Du das Makro so anpassen, dass es automatisch beim Öffnen der Datei ausgeführt wird.

  • Fehlerbehebung: Nutze die Debug.Print-Funktion, um Werte während der Ausführung des Makros zu überprüfen.

  • Dokumentation: Halte Deinen Code gut dokumentiert, sodass Du ihn später leicht anpassen oder erweitern kannst.


FAQ: Häufige Fragen

1. Wie kann ich mehrere Zellen auf einmal trennen? Du kannst den Text in Spalten-Assistenten verwenden, um mehrere Zellen gleichzeitig zu trennen.

2. Kann ich das Makro auch für andere Formate verwenden? Ja, du kannst das Makro anpassen, um mit verschiedenen Datums- und Zeitformaten zu arbeiten. Achte darauf, die Formatierung entsprechend anzupassen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige