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

Forumthread: Uhrzeit in Text umwandeln mit VBA

Uhrzeit in Text umwandeln mit VBA
27.08.2014 10:22:02
Jürgen
Guten Morgen,
ich muss in meinem Projekt Uhrzeiten vom Datumsformat ins Textformat umwandeln, weil die Uhrzeit dann in einen Text eingearbeitet werden muss.
Mit einer Tabellenfunktion geht das ganz gut. Wenn ich also in E6 als Uhrzeit 19:30 stehen habe, wird diese Zeit mit der Formel
=TEXT(REST(E9;1);"hh:mm")
in einen Text, also "19:30" umgewandelt.
Mache ich dies jedoch mit einer adäquaten VBA-Anweisung wie diese hier
ActiveCell.FormulaR1C1 = WorksheetFunction.Text(Range("E9") Mod 1, "hh:mm")
dann wird als Text nicht 19:30 sondern 00:00 ausgewiesen. Sieht jemand, wo hier mein Denkfehler liegt? Oder geht das überhaupt nicht mit VBA?
Über eine Antwort würde ich mich sehr freuen.
Liebe Grüße
Jürgen

Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Uhrzeit in Text umwandeln mit VBA
27.08.2014 10:33:49
Rudi
Hallo,
ganz einfach so:
ActiveCell = Format(Range("E9"), "hh:mm")
Gruß
Rudi

AW: Uhrzeit in Text umwandeln mit VBA
27.08.2014 10:52:39
Daniel
Hi
ich vermute mal, dass hier dann die Excelautomatik zuschlägt und den Text wieder in eine Uhrzeit wandelt, weil er wie eine Uhrzeit aussieht.
probiere es mal so:
ActiveCell.Value = "'" & Format(Range("E9").value, "hh:mm")
das Hochkomma ist das Texterkennungszeichen und verhindert die automatische Umwandlung der Eingabe.
Gruß Daniel

Anzeige
AW: Uhrzeit in Text umwandeln mit VBA
27.08.2014 11:11:42
Jürgen
Danke euch Dreien für die schnelle Antwort. Rudis Vorschlag geht leider nicht, da bleibt das Zeitformat erhalten, aber die beiden Hochkommavorschläge sind genial. Die gehen beide.
Einen schönen Tag noch
Jürgen

AW: Uhrzeit in Text umwandeln mit VBA
27.08.2014 11:47:59
Jürgen
Danke euch Dreien für die schnelle Antwort. Rudis Vorschlag geht leider nicht, da bleibt das Zeitformat erhalten, aber die beiden Hochkommavorschläge sind genial. Die gehen beide.
Einen schönen Tag noch
Jürgen

Anzeige
AW: Uhrzeit in Text umwandeln mit VBA
27.08.2014 13:10:28
Jürgen
Nochmal von mir etwas zu dem Thema. Hochkomma ist prima, wenn die in Text umgewandelte Uhrzeit für sich in einer Zelle steht. Wird dieser Text jedoch in einen anderen Text integriert, so wie hier
"19:30 - 23:45"
dann wird vor der 2. Uhrzeit das Hochkomma sichtbar: "19:30 - '23:45"
Um das zu vermeiden, habe ich vorher die aktive Zelle als Text formatiert und dann das Hochkomma weggelassen.
Man lernt immer wieder dazu.
Tschüß
Jürgen

Anzeige
AW: Uhrzeit in Text umwandeln mit VBA
27.08.2014 13:24:53
Daniel
Hi
das Hochkomma brauchst du nur am Anfang und auch nur dann, wenn der Text für Excel als Zahl, Zeit oder Datum erkenntbar ist, denn dann versucht Excel die Umwandlung in einen dieser Werte.
Sobald du den Wert mit weiteren Zeichen kompinierst, kann Excel die Eingabe nicht mehr zuordnen und behandelt sie als Text, auch ohne Hochkomma.
Gruß Daniel

Anzeige
AW: Uhrzeit in Text umwandeln mit VBA
27.08.2014 10:43:55
fcs
Hallo Jürgen,
die REST-Funktion ist in deiner Formel nicht erforderlich. TEXT(E9;"hh:mm") liefert immer nur die Stunden:Minuten-Darstellung, des Wertes nach dem Dezimalzeichen.
Die Mod-Funktion im Code ist hier komplett falsch. Sie liefert immer eine Ganze Zahl als Ergebnis und die ist bei Wert Mod 1 immer 0.
Damit die Umwandlung der Excel Zeit via VBA in Text funktioniert muss du die Einfügezellen als Text formatieren, oder der Uhrzeit ein Hochkomma voranstellen. Ich empfehle die Hochkomma-Variante.
Sub aaTest()
ActiveCell.Value = "'" & WorksheetFunction.Text(Range("E9"), "hh:mm")
'oder Alternativ
ActiveCell.Offset.Value = "'" & Format(Range("E9"), "hh:mm")
End Sub
Gruß
Franz
Anzeige
;

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

Uhrzeit in Text umwandeln mit VBA


Schritt-für-Schritt-Anleitung

Um eine Uhrzeit in Excel als Text umzuwandeln, kannst du VBA verwenden. Hier ist eine klare Schritt-für-Schritt-Anleitung:

  1. Öffne die Excel-Datei, in der du die Uhrzeit umwandeln möchtest.

  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Klicke auf Einfügen und wähle Modul, um ein neues Modul zu erstellen.

  4. Füge den folgenden Code ein:

    Sub UhrzeitInTextUmwandeln()
       ActiveCell.Value = "'" & Format(ActiveCell.Value, "hh:mm")
    End Sub
  5. Schließe den VBA-Editor und gehe zurück zu Excel.

  6. Wähle die Zelle mit der Uhrzeit aus und führe das Makro aus (ALT + F8, wähle UhrzeitInTextUmwandeln und klicke auf Ausführen).

Jetzt wird die Uhrzeit in der Zelle als Text angezeigt.


Häufige Fehler und Lösungen

Fehler 1: Uhrzeit bleibt im Zeitformat Wenn du die Uhrzeit in Text umwandeln möchtest und sie bleibt im Zeitformat, stelle sicher, dass du ein Hochkomma vor die Uhrzeit setzt, um die automatische Umwandlung von Excel zu verhindern.

Lösung: Verwende den Code mit Hochkomma:

ActiveCell.Value = "'" & Format(Range("E9").Value, "hh:mm")

Alternative Methoden

Wenn du keine VBA-Lösung verwenden möchtest, kannst du die Excel-Funktion TEXT nutzen. Hier ist die Formel, die du verwenden kannst:

=TEXT(E9, "hh:mm")

Diese Funktion wandelt die Uhrzeit in einen Textstring im Format "hh:mm" um. Du kannst diese Methode verwenden, wenn VBA nicht erforderlich ist.


Praktische Beispiele

Hier sind einige praktische Beispiele zur Umwandlung von Uhrzeiten in Texte:

  • Umwandlung von 19:30 in "19:30":

    ActiveCell.Value = "'" & Format(Range("E9"), "hh:mm")
  • Umwandlung von 23:45 in "23:45":

    ActiveCell.Value = "'" & Format(Range("F9"), "hh:mm")

Achte darauf, dass die Zelle, in die du schreibst, als Text formatiert ist, um Probleme mit der automatischen Umwandlung zu vermeiden.


Tipps für Profis

  • Hochkomma verwenden: Das Hochkomma (') vor der Uhrzeit ist entscheidend, um zu verhindern, dass Excel die Eingabe als Zahl oder Datum interpretiert.
  • Zellen formatieren: Du kannst die Zellen vorher als Text formatieren, um die Umwandlung zu erleichtern.
  • VBA optimieren: Du kannst den VBA-Code anpassen, um mehrere Zellen auf einmal zu konvertieren.

FAQ: Häufige Fragen

1. Wie verhindere ich die automatische Umwandlung von Zahlen in Datumswerte? Setze ein Hochkomma vor die Eingabe, oder formatiere die Zelle vorher als Text.

2. Kann ich mehrere Zellen gleichzeitig umwandeln? Ja, passe den VBA-Code an, um einen Bereich zu durchlaufen und die Umwandlung auf alle Zellen anzuwenden.

3. Funktioniert das in allen Excel-Versionen? Ja, die beschriebenen Methoden funktionieren in den meisten modernen Excel-Versionen, die VBA unterstützen.

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