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

Forumthread: Negative Uhrzeit über Inputbox eingeben

Negative Uhrzeit über Inputbox eingeben
19.02.2008 10:26:59
Melanie
Hallo Excel-Profis,
ich habe folgendes Problem. Ich möchte über eine Inputbox den aktuellen Stundendsaldo der Stemnpeluhr eingeben können und dann spuckt er mir die tatsächlichen Überstunden aus.
Der Grund hierfür ist, dass morgens beim Anstempeln der Tagessaldo von acht Stunden noch nicht erbracht wurde und deshalb negativ angerechnet wird.
Das ganze habe ich mit dem Makro unten versucht. Ich kann hier aber keine negativen Stunden eintragen. Wie kann ich das lösen?
Für eure Hilfe im Voraus besten Dank!
Grüße, Melanie

Sub Ueberstunden2()
Dim Ueberzeit As Date
Dim Stundensaldo As Date
Dim Arbeitszeit As Date
Arbeitszeit = "8:00"
Stundensaldo = Application.InputBox("Angezeigte Zeit der Stempeluhr eintragen:", "Stundensaldo") _
If Stundensaldo > 0 Then
Ueberzeit = Arbeitszeit + Stundensaldo
Else
Ueberzeit = Arbeitszeit - Stundensaldo
End If
If Ueberzeit > 0 Then
MsgBox "Die aktuelle Überzeit beträgt: + " & Ueberzeit, vbOKOnly, "Überzeit"
Else
MsgBox "Die aktuelle Überzeit beträgt: - " & Ueberzeit, vbOKOnly, "Überzeit"
End If
End Sub


Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Negative Uhrzeit über Inputbox eingeben
19.02.2008 10:56:35
Nepumuk
Hallo Melanie,
so ganz klar ist mir dein Anliegen noch nicht. Aber versuch es mal so:
Sub Ueberstunden2()
    
    Dim Ueberzeit As Date
    Dim Stundensaldo As Variant
    
    Const Arbeitszeit As Date = "8:00"
    
    Stundensaldo = Application.InputBox("Angezeigte Zeit der Stempeluhr eintragen:", "Stundensaldo")
    
    Ueberzeit = DateAdd("H", Stundensaldo, Arbeitszeit)
    
    If Ueberzeit >= 0 Then
        MsgBox "Die aktuelle Überzeit beträgt: + " & Format(Ueberzeit, "HH:MM:SS"), vbOKOnly, "Überzeit"
    Else
        MsgBox "Die aktuelle Überzeit beträgt: - " & Format(Ueberzeit, "HH:MM:SS"), vbOKOnly, "Überzeit"
        
    End If
    
End Sub

Gruß
Nepumuk

Anzeige
AW: Negative Uhrzeit über Inputbox eingeben
19.02.2008 11:00:00
Erich
Hallo Melanie,
oder meinst du das so?

Option Explicit
Sub Ueberstunden2()
Dim Ueberzeit As Date
Dim Stundensaldo As Date
Dim Arbeitszeit As Date
Dim strInput As String
Arbeitszeit = CDate("8:00")
strInput = Application.InputBox("Angezeigte Zeit der Stempeluhr eintragen:", _
"Stundensaldo")
Select Case Left(strInput, 1)
Case "+"
Stundensaldo = CDate(Mid(strInput, 2))
Case "-"
Stundensaldo = -CDate(Mid(strInput, 2))
Case Else
Stundensaldo = CDate(strInput)
End Select
Ueberzeit = Arbeitszeit + Stundensaldo
MsgBox "Die aktuelle Überzeit beträgt: " & IIf(Ueberzeit 

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
Perfekt!
19.02.2008 11:37:00
Melanie
Hi Erich,
funktioniert perfekt!
Vielen Dank!
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

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