Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Userform-TextBox >>Zeit berechnen

Userform-TextBox >>Zeit berechnen
Oswald
Hallo,
hab mal wieder ein Problem, kann mir jemand helfen.
Hab eine Userform erstellt wo ich mein Beginn bzw. Ende der Arbeitzeit in eine Textbox eingebe (z. B. 7:00 und 12:00).
Jetzt würde ich gerne in einer dritten Textbox die Stunden ausgeben.
Bei folgendem Code kommt Typen unverträglich.
Dim von, bis As Date
Dim von1, bis1, zeit As Integer
bis = UserForm2.TextBox3.Value
von = UserForm2.TextBox2.Value
von1 = von
bis1 = bis
zeit = bis - von
Danke euch wieder im vorraus.
Gruß Oswald
Anzeige
AW: Userform-TextBox >>Zeit berechnen
Ramses
Hallo
probiers mal so
Dim von as Double, bis As Double
bis = UserForm2.TextBox3.Value
von = UserForm2.TextBox2.Value
'Wenn die Ergebnisbox "Zeit" heisst
Userform2.Zeit = Format(bis - von,"hh:mm")
Gruss Rainer
AW: Userform-TextBox >>Zeit berechnen
Oswald
Hallo Rainer,
hab die Sache so geändert, klappt aber auch nicht.
Ich bräuchte auch nicht das Format HH:MM sonder z. B. 7,5 Std.
Dim von As Double, bis As Double
bis = UserForm2.TextBox3.Value
von = UserForm2.TextBox2.Value
'Wenn die Ergebnisbox "Zeit" heisst
UserForm3.TextBox5.Value = Format(bis - von, "hh:mm")
Danke dir.
Gruß Oswald
Anzeige
AW: Userform-TextBox >>Zeit berechnen
Josef
Hallo Oswald!
Versuch mal

Private Sub CommandButton1_Click()
TextBox3 = (CDate(TextBox2) - CDate(TextBox1)) * 24
End Sub

Gruß Sepp
Anzeige
Danke dir, klappt wieder perfekt
Oswald
Hallo Sepp,
wieder mal vielen Danke für deine Hilfe.
Klappt perfekt.
Hoffe irgendwann mal was für dich tun zu können.
Gruß und schönen Abend noch
Oswald
Danke für die Rückmeldung! o.T.
Josef
Gruß Sepp
CDate?
Oswald
Nochmal ich,
du weist ich bin nicht neugierig aber wissen möchte ich es doch.
Hab in der Online-Hilfe nachgeschaut, aber die spuckt nichts zu CDate aus.
Kannst du mich wieder schlauer machen.
Danke dir.
Oswald
Anzeige
AW: CDate?
Josef
Hallo Oswald!
CDate ist eine Typ-Umwandlungsfunktion, die einen
Gültigen Datums- oder Zeit-Ausdruck in einen
Datum- / Zeit-Wert Umwandelt.
Such in der Onlinehilfe von VBA unter "CDate"
Gruß Sepp
Vielen Danke, hab es jetzt gefunden
20.04.2004 23:56:55
Oswald
Hallo Sepp,
ich habs jetzt gefunden (bei mir kommt mit "CDate" ich soll meine Frage neu fromulieren)
Gefunden hab ich es dann mit "Typ Umwandlung".
Nochmal vielen Dank.
Gruß
Oswald
Anzeige
AW: Userform-TextBox >>Zeit berechnen
Ramses
Hallo
dann lass halt das Format weg :-)
Die Eingaben dürfen übrigens nicht mit KOMMA erfolgen, sondern müssen mit einem PUNKT als Trennzeichen eingeben werden. Ansonsten müsstest du das KOMMA durch den PUNKT ersetzen, weil VBA nicht mit dem KOMMA rechnen kann
Gruss Rainer
AW: Userform-TextBox >>Zeit berechnen
20.04.2004 23:08:03
Oswald
Hallo Rainer,
hab das Format weg gelassen. Ändert auch nichts.
Kommt wieder Typ unberträglich.
Danke für deine Mühe.
Gruß
Oswald
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

Zeitberechnung in Excel mit Userform und TextBox


Schritt-für-Schritt-Anleitung

  1. Userform erstellen: Öffne Excel und gehe in den VBA-Editor (Alt + F11). Erstelle eine neue Userform (UserForm2).

  2. TextBoxen hinzufügen: Füge drei TextBoxen hinzu:

    • TextBox1: für den Beginn der Arbeitszeit (z. B. 7:00)
    • TextBox2: für das Ende der Arbeitszeit (z. B. 12:00)
    • TextBox3: für die Ausgabe der Stunden (z. B. 5,0 Std.)
  3. Schaltfläche hinzufügen: Füge einen CommandButton hinzu, um die Berechnung zu starten.

  4. Code eingeben: Doppelklicke auf den CommandButton und füge folgenden Code ein:

    Private Sub CommandButton1_Click()
       Dim von As Double, bis As Double
       von = CDate(TextBox1.Value)
       bis = CDate(TextBox2.Value)
       TextBox3.Value = (bis - von) * 24
    End Sub
  5. Formatierung der Ausgabe: Um die Ausgabe in Stunden und Dezimalformat anzuzeigen, kannst du die letzte Zeile ändern in:

    TextBox3.Value = Format((bis - von) * 24, "0.0") & " Std."
  6. Testen: Starte die Userform und teste die Eingaben.


Häufige Fehler und Lösungen

  • Typen unverträglich: Stelle sicher, dass die Eingaben in den TextBoxen im richtigen Format (z. B. hh:mm) vorliegen. Verwende CDate, um die Strings in Datumswerte umzuwandeln.

  • Komma vs. Punkt: Wenn du deine Zeit mit einem Komma eingibst (z. B. 7,5), kann VBA dies nicht verarbeiten. Stelle sicher, dass du einen Punkt verwendest (z. B. 7.5).

  • Leere Eingaben: Überprüfe, ob die TextBoxen leer sind, bevor du die Berechnung durchführst. Füge eine einfache If-Bedingung hinzu:

    If TextBox1.Value = "" Or TextBox2.Value = "" Then
       MsgBox "Bitte beide Zeitfelder ausfüllen!"
       Exit Sub
    End If

Alternative Methoden

Wenn du keine Userform verwenden möchtest, kannst du die Zeitberechnung auch direkt in einer Excel-Zelle vornehmen:

  1. Zellen einrichten: Verwende z. B. Zelle A1 für den Beginn und A2 für das Ende.
  2. Berechnung: In A3 kannst du die folgende Formel verwenden:

    =(A2-A1)*24

Verwende das Format hh:mm in den Zellen A1 und A2, um die Eingaben zu erleichtern.


Praktische Beispiele

  • Beispiel 1: Du gibst in TextBox1 7:00 und in TextBox2 12:00 ein. Das Ergebnis in TextBox3 sollte 5,0 Std. sein.

  • Beispiel 2: Bei Eingaben von 9:00 und 17:30 solltest du 8,5 Std. erhalten.


Tipps für Profis

  • Fehlerbehandlung: Implementiere eine Fehlerbehandlung, um unerwartete Eingaben zu handhaben.

  • Eingabevalidierung: Verwende IsDate, um sicherzustellen, dass die Eingaben gültige Datums- und Zeitwerte sind.

  • Formatierung: Du kannst auch die Formatierung von TextBoxen anpassen, um die Benutzeroberfläche zu verbessern.


FAQ: Häufige Fragen

1. Was ist CDate?
CDate ist eine Typ-Umwandlungsfunktion in VBA, die einen gültigen Datums- oder Zeit-Ausdruck in einen Datum-/Zeit-Wert umwandelt.

2. Welche Excel-Version benötige ich?
Die beschriebenen Funktionen sind in den meisten modernen Excel-Versionen verfügbar, einschließlich Excel 2010 und später.

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