Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
952to956
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
952to956
952to956
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
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


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!

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige