Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1368to1372
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Zeitformat hh:mm in TextBox
11.07.2014 23:37:06
Rainer
Guten Tag,
zur Laufzeit einer Sub werden mehrere Zeiten (Stunden:Minuten) zusammengezählt. Die Summe (in diesem Beispiel 29 Stunden und 20 Minuten) soll schließlich ein einer UserForm dargestellt werden. Dabei ist es nicht wichtig ob das Ergebnis in einem Textfeld oder einem Label ausgegeben wird. Meine Formeln
TimeView.TeBoGesZeit.Value = "Gesamtzeit: " & Format(GesZeitTime, "[hh]:mm") & " = " & Format(GesZeitTime * 24, "#.00") & " Stunden"
oder
TimeView.LabGesZeit.Caption = "Gesamtzeit: " & Format(GesZeitTime, "[hh]:mm") & " = " & Format(GesZeitTime * 24, "#.00") & " Stunden"
liefern ein falsches Resultat nämlich "Gesamtzeit: :12 = 29,33 Stunden". Lasse ich die eckigen Klammern im Zeitformat weg erhalte ich "Gesamtzeit: 05:20 = 29,33 Stunden.
Ich hab auch schon "H:mm" und "[H]:mm" probiert. Alles ohne Erfolg. Kann mir bitte jemand eine Tipp geben wie ich per VBA-Code in einer UserForm eine Zeitsumme größer 24 Stunden (z.B 29:20)korrekt darstellen kann.
Vielen herzlichen Dank!
Rainer.

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeitformat hh:mm in TextBox
13.07.2014 14:32:52
Rainer
Hallo Michael,
ganz herzlichen Dank, es funktioniert. Wen's interessiert, an Stelle von: Format(VariableX, "[hh]:mm")die Formel: Application.Text(VariableX, "[hh]:mm")einsetzen.
Liebe Grüße,
Rainer

AW: Zeitformat hh:mm in TextBox
13.07.2014 15:57:41
Michael
Hallo Rainer,
freut mich, wenn's tut.
Was mich nicht freut, ist, daß das halbe Dasein des Programmierers darin besteht, workarounds zu suchen, um punktuelle Defizite von Programmiersprachen auszugleichen.
Bist Du bitte so nett und schreibst mir mal, welchen Datentyp Deine Variable hat und welcher Wert z.B. die Ausgabe in Deinem ersten Beispiel erzeugt?
Liebe Grüße aus dem verregneten Franken,
Michael

Anzeige
AW: Zeitformat hh:mm in TextBox
15.07.2014 10:30:45
Rainer
Hallo Michael,
gestern habe ich auf Deine Mail geantwortet, kann aber meinen Text hier im Forum nirgends finden. Ich bin etwas verunsichert, ob das mit dem Senden auch wirklich geklappt hat. Zur Sicherheit hier nochmal meine Antwort.
In einer Tabelle habe ich die Spalten 'Datum', 'Beginn', 'Ende', 'Dauer' und 'Bemerkung'. Eine Prozedur füllt die Spalten mit den entsprechenden Daten wobei der Wert in der Spalte 'Dauer' in der Tabelle berechnet wird. Der Wert in der Spalte 'Dauer' ist eine Zeit z.B. 01:30 (hh:mm).Eine Zeile ist ein Datensatz oder Aufzeichnung. Der Benutzer hat die Möglichkeit, Aufzeichnungen gefiltert, nach Monat oder Woche oder Tag in einer Listbox zu betrachten. Die Summe der Spalte 'Dauer' soll unterhalb der Listbox in einer TextBox mal als Zeitwert und mal als Dezimalzahl ausgegeben werden. Eine For-Next_Schleif erledigt das alles perfekt. Die Variable, die den Wert für Gesamtdauer speichert nenne ich 'GesZeitTime', die Userform 'TimeView' und die TextBox 'TeBoGesZeit'. Die Deklaration der Variablen lautet 'Dim GesZeitTime As Date'. Die problematische Programmzeile war:
TimeView.TeBoGesZeit.Value = "Gesamtzeit: " & Format(GesZeitTime, "[hh]:mm") & " = " & Format(GesZeitTime * 24, "#.00") & " Stunden"
War der Wert in der Variablen 'GesZeitTime' beispielsweise 30 Stunden und 30 Minuten war in der TextBox "Gesamtzeit: 06:30 = 30,5 Stunden zu lesen. Man sieht, dass hier 24 Stunden unterschlagen werden. Die Berechnung ist aber richtig nur die Darstellung ist falsch. Die neue Programmzeile
TimeView.TeBoGesZeit.Value = "Gesamtzeit: " & Application.Text(GesZeitTime, "[hh]:mm") & " = " & Format(GesZeitTime * 24, "#.00") & " Stunden"
liefert ein korrektes Ergebnis. Ich hoffe ich konnte Dir die Umstände meines Problems verständlich erläutern. Ansonsten bin ich gerne für weitere Informationen bereit.
Da ich mich nicht zu den VBA-Profis zählen kann und auch nicht zu der jüngeren Computergeneration gehöre muss ich Dich leider bitten mir den Ausdruck "Workarounds" aus deiner Mail zu erklären. Vielen Dank.
Liebe Grüße
Rainer.

Anzeige
AW: Zeitformat hh:mm in TextBox
15.07.2014 15:12:47
Michael
Hallo Rainer,
vielen Dank für Deine ausführliche Erklärung!
Zum Thema gibt es nichts hinzuzufügen, da ja alles so tut, wie es soll.
Ich habe mich halt auch schon oft mit schlecht nachvollziehbaren Problemen bei Zeitberechnungen abgekämpft, eher nicht in VBA, sondern nur mit den reinen EXCEL-Funktionen im Tabellenblatt. Insofern war ich neugierig, was Du für einen Datentyp verwendest.
Excel rechnet ja intern mit einem einem LONG, zumindest beim Datum, und ich wollte die Geschichte gerne nachvollziehen können. Kann ich jetzt, und werde ich auch tun, wenn ich ne halbe Stunde Zeit habe. Also nochmal danke.
Workaround: wörtlich übersetzt so was wie "drumherum arbeiten", und das trifft es eigentlich auch. Gemeint ist, daß man manchmal auf Probleme stößt, von denen man denken sollte, daß sie nicht existieren, also im konkreten Beispiel, daß eben FORMAT so flexibel ist, daß man auch das bekommt, was man möchte. Offensichtlich tut es nicht, also muß sich "anders behelfen", und das ist der workaround.
Ich habe in grauer Vorzeit mal eine 386-Hauptplatine aus der Reparatur bekommen, da hat der Hersteller / Lieferant scheint's wegen einer defekten Leiterbahn ein Kabel von 10, 15 cm zwischen zwei Beinchen irgendwelcher Bauteile verlötet: sah ziemlich wüst aus, hat aber funktioniert: und der Kunde sah das ja nicht, sobald es verbaut war.
Womit meine "Generationszugehörigkeit" auch angedeutet wäre.
Gute Zeit und liebe Grüße,
Michael

Anzeige
AW: Zeitformat hh:mm in TextBox
16.07.2014 22:56:42
Rainer
Hallo Michael,
es ist eine Freude Deine Texte zu lesen. Dein Stil gefällt mir und ich habe wieder sehr viel gelernt. Da ich mir nicht zutraue anderen Leuten bei deren EXCEL-Problemen zu helfen bin ich nur dann in diesem Forum wenn ich Hilfe benötige. Mein Projekt ist noch nicht ganz fertig und möglicherweise stoße ich wieder mal an meine Grenzen. Vielleicht treffen wir uns dann wieder hier in Herbers EXCEL-Forum. Bis dahin vielen Dank für die nette Unterhaltung.
Liebe Grüße
Rainer.

42 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige