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

Stunden über 24 per VBA in die Tabelle schreiben

Forumthread: Stunden über 24 per VBA in die Tabelle schreiben

Stunden über 24 per VBA in die Tabelle schreiben
11.12.2025 08:25:39
Frank H.
Hallo Zusammen,

in der TextBox1 steht ein Stundenwert, bspw. 12:15. Dann funktioniert folgender Befehl - ActiveSheet.Range("Q12") = CDate(TextBox1)

Gebe ich aber bspw. in TextBox1 den Wert 24:30 ein, dann meckert er. "Typen unverträglich"

Was muss ich ändern, dass es auch über 23:59 hinaus funktionier?

Danke euch im Voraus!

L.G. Frank H.
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Stunden über 24 per VBA in die Tabelle schreiben
11.12.2025 08:56:39
Sigi.21
Hallo Frank,

eine TextBox enthält immer TEXT. Die VBA-Fkt. CDate() geht nur von 0:00:01 bis 23:59:59.
Ohne Test: In Excel könnte evtl. folgendes gehen:
1. Zelle formatieren: ActiveSheet.Range("Q12").NumberFormatLocal = "[hh]:mm:ss"
2. Text reinschreiben: ActiveSheet.Range("Q12") = TextBox1.Value

Gruß Sigi
Anzeige
AW: Stunden über 24 per VBA in die Tabelle schreiben
11.12.2025 15:14:06
Frank H.
Hallo Ihr Zwei,
bin erst jetzt zum testen gekommen. Passt beides!!! Super!!!
Euch vielen Dank!
Noch 'ne schöne Adventszeit, frohe Weihnachten und 'nen guten Rutsch!
L.G. Frank H.
AW: Stunden über 24 per VBA in die Tabelle schreiben
11.12.2025 13:03:50
GerdL
Moin Frank!

Probier mal.
ActiveSheet.Range("Q12").NumberFormat = "[hh]:mm:ss"

ActiveSheet.Range("Q12") = CVar(TextBox1.Text)

Gruß Gerd
Anzeige
AW: Stunden über 24 per VBA in die Tabelle schreiben
11.12.2025 15:23:29
daniel
Hi
CDATE arbeitet mit Uhrzeiten und nicht mit Zeitwerten, eine Uhrzeit größer gleich 24:00 ist nicht definiert, weil das ist ja schon wieder 0:00 am nächsten Tag.

du könntest TimeSerial verwenden, hierfür müsstest du aber Stunden und Minuten getrennt angeben
ActiveSheet.Range("Q12") = TimeSerial(Split(Textbox1, ":")(0), Split(Textbox1, ":")(1), 0)


oder du rechnest einfach:
ActiveSheet.Range("Q12") = Split(Textbox1, ":")(0) / 24 + Split(Textbox1, ":")(1) / 1440


die Sicherheitsabfrage davor wäre
if Textbox1.Text Like "##:##"

oder wenn man sicher gehen will:
If Textbox1.Text Like "##:[0-5]#


Gruß Daniel


Anzeige
AW: Stunden über 24 per VBA in die Tabelle schreiben
11.12.2025 15:27:41
Frank H.
Hi,
auch dir danke. Muss jetzt los. Teste morgen!
L.G.
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18