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

userform <24h richtig in tbl übertragen

Forumthread: userform <24h richtig in tbl übertragen

userform <24h richtig in tbl übertragen
10.03.2026 17:25:49
Richard
Liebe Excel Gemeinde,
es wäre nett wenn mir jemand Unterstützung geben könnte.
Habe eine Userform wo ich daten in eine Tabelle übertrage. In einem txt Feld (txt_Fixstd) werden Werte >24h in der Form 40:00 eingetragen. In der Tabelle ist die Spalte mit [hh]:mm eingestellt. Habe gelesen mit dem Code " CDbl(CDate(Me.txt_Fixstd.Value))" muß das Textfeld bestückt sein um es richtig zu übertragen.
Meine Speicherung schaut so aus:
Private Sub cmb_speichern_Click() 'speichern Werte


Dim letzte_Zeile As Long

With Worksheets("tbl_Daten_1")
'Die letzte beschrieben Zeile in Spalte A ermitteln
letzte_Zeile = .Range("A65536").End(xlUp).Offset(1, 0).Row

.Cells(letzte_Zeile, 1) = txt_Mitgl_NN.Text
.Cells(letzte_Zeile, 2) = txt_Mitgl_VN.Text
.Cells(letzte_Zeile, 3) = txt_Abtlg.Text
.Cells(letzte_Zeile, 4) = txt_Dat.Text
.Cells(letzte_Zeile, 5) = txt_Ort.Text
.Cells(letzte_Zeile, 6) = txt_Thema.Text
.Cells(letzte_Zeile, 7) = txt_Beginn.Text
.Cells(letzte_Zeile, 8) = txt_Ende.Text
.Cells(letzte_Zeile, 9) = txt_VB.Text
.Cells(letzte_Zeile, 12) = cmb_Art.Text
.Cells(letzte_Zeile, 10) = txt_Fixstd.Text
' Else
' MsgBox "Bitte ein gültiges Zeitformat eingeben (z.B. 25:30)", vbExclamation
' End If
End With
MsgBox "Daten wurden gespeichert.", vbInformation
Unload ufrm_Mitglied_neu

End Sub

Meine Frage: wie muß ich dieses Codeschnippsel einbauen ?

Im Voraus vielen Dank für Eure Unterstützung
Gruß Richard
Anzeige

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: userform <24h richtig in tbl übertragen
10.03.2026 17:29:03
Richard
Entschuldigung ich meinte selbstverständlich >24 h
AW: userform <24h richtig in tbl übertragen
10.03.2026 18:05:43
snb
Ein EinsZeiler reicht schon.

Private Sub cmb_speichern_Click()

Sheets("tbl_Daten_1").Cells(Rows, 1).End(xlUp).Offset(1).Resize(, 10) = Array(txt_Mitgl_NN, txt_Mitgl_VN, txt_Abtlg, txt_Dat, txt_Ort, txt_Thema, txt_Beginn, txt_Ende, txt_VB, cmb_Art, txt_Fixstd)
End Sub



Anzeige
AW: userform <24h richtig in tbl übertragen
10.03.2026 18:08:08
snb
Und CDate(txt_Fixstd) reicht schon.
AW: userform <24h richtig in tbl übertragen
10.03.2026 18:10:19
daniel
Hi
einfach direkt reinschreiben:
.Cells(letzte_Zeile, 10) = txt_Fixstd.Text

nutze hier die automatische Typerkennung bei der Eingabe in Excel.
die ist am flexibelsten und kann so Texte wie "40:00" als Zeitwert erkennen. CDate kann das nicht und und wandelt nur echte Uhrzeiten (&lt24:00) um.
zumindest bei mir in Excel 365 funktioniert das so.

sollte das so nicht funktionieren (was ja sein kann, wenn du eine ältere Excelversion hast), dann müsstest du den ZeitWert so zurückschreiben:
.Cells(letzte_Zeile, 10) = Split(txt_Fixstd.Text, ":")(0) / 24 + Split(txt_Fixstd.Text, ":")(1) / 1440



Wenn du das gleiche mit Datumswerten machen willst, musst du beachten dass es hier unterschiedliche Schreibweisen in Deutschland und Amerika gibt und bei VBA im Standardfall (.Value) die amerikanischen Schreibweisen angewendet werden.
Da du in die Textboxen die Datumswerte in "deutsch" schreibst und du auch ein deutsches Excel hast, kannst du sie dann am einfachsten mit .FormulaLocal in die Zelle schreiben
.Cells(letzte_Zeile, 4).FormulaLocal= txt_Dat.Text




Gruß Daniel



Anzeige
AW: userform <24h richtig in tbl übertragen
10.03.2026 18:37:56
Richard
Zuerst mal vielen Dank für die schnellen Antworten habe die verschiedenen Lösungswege von Daniel probiert in die Tabelle wird die Zeit schon richtig geschrieben,wenn ich daraufklicke wird mir oben im Infofenster bei dem Eintrag 40:00 dies angezeigt 02.01.1904 16:00:00

Richard
AW: userform <24h richtig in tbl übertragen
10.03.2026 19:05:33
Uduuh
Hallo,
ist doch korrekt, falls du mit 1904-Datumswerten arbeitest.

Gruß aus'm Pott
Udo
Anzeige
AW: userform <24h richtig in tbl übertragen
10.03.2026 19:28:38
Richard
Hallo Udo, vielen Dank vielleicht ist es mein Nichtwissen: Bei den Zeiten unter 24 h wir es oben im Infofenster so angezeigt 19:30:00 bloss bei der Zeit über 24 h anders darum wir mir in Power Query die >24 nicht richtig angezeigt
Gruß aus den Bergen
AW: userform <24h richtig in tbl übertragen
10.03.2026 20:23:54
Uduuh
Hallo,
darum wir mir in Power Query die >24 nicht richtig angezeigt
40:00 ist in Excel 1,67.

Gruß aus'm Pott
Udo
Anzeige
AW: userform <24h richtig in tbl übertragen
10.03.2026 21:04:00
daniel
Hi
Info-Fenster und ähnliches arbeiten mit Standardformaten und da ist der eingetragene Wert ein Datum.
Das Zahlenformat [hh]:mm hast du nur in der Zelle.
Bitte dort prüfen, am besten die Zelle im Zahlenformat Standard formatieren und schauen, ob der korrekte Zahlenwert angezeigt wird.
die 40 Stunden müssten dann 1,6666667 entsprechen (24 Stunden = 1)
Gruß Daniel
Anzeige
AW: userform <24h richtig in tbl übertragen
10.03.2026 21:25:22
Richard
Hallo Daniel, beim Umstellen wird 1,66... angezeigt in Power Query 2
Richard
AW: userform <24h richtig in tbl übertragen
10.03.2026 21:51:11
daniel
na dann ist ja alles korrekt.
Als Zahl werden Datum und Uhrzeit in der Einheit Tagen dargestellt, 1 = 1 Tag = 24h, dann sind 40 Stunden 1 Tag und 16 Stunden, was 1+2/3 = 1,667 entspricht.

AW: userform <24h richtig in tbl übertragen
10.03.2026 22:01:50
Richard
dann sage ich vielen Dank für Eure Expertiese
Gruß Richard
Anzeige
AW: userform <24h richtig in tbl übertragen
10.03.2026 21:12:14
daniel
das Infofenster kennt keine "fancy" Formate wie [hh]:mm
die Werte werden dort immer als Datum und Uhrzeit angezeigt.
Wenn der Zahlenwert kleiner 1 ist, dann wird das Datum weggelassen und nur die Uhrzeit angezeigt.

40:00 ist keine Uhrzeit, sondern eine Zeitmenge
AW: userform <24h richtig in tbl übertragen
10.03.2026 21:01:15
Richard
Hallo Udo, es wird im Power query z.B. bei 90 h 4 angezeigt auch bei den Umstellungen Typ ändern kommt alles andere heraus als 90 h
Gruß Richard
Anzeige
AW: userform <24h richtig in tbl übertragen
10.03.2026 18:00:22
Alwin Weisangler
Hallo Richard,

das geht nur über den Umweg Datumszahl. Du musst via Split ":" Stunden von Minuten trennen und daraus die Datumzahl errechnen.
Hier erst mal ein kleines Beispiel zu diesem Thema.

Falls das dir nicht hilft, lade die Datei anonymisiert so hoch, dass man sieht wo dieses Format benötigt wird. Übrigens hat Excel inzwischen über 1 Mio. Zeilen 65536 ist war mal.
https://www.herber.de/bbs/user/180389.xlsm

Gruß Uwe
Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige