Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
976to980
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
976to980
976to980
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Differenz zwischen datums

Differenz zwischen datums
19.05.2008 09:01:35
chris
Hallo VBA Experten,
guten morgen.Habe eine frage.
wie kann ich diesen Code so umbauen das ich angezeigt bekommen wie viele Stunden differenz
zwischen den beiden Datums sind ?
und wenn es mehere Tage sind dann soll engezeigt werden z.b 50 Stunden für 2 Tage und 2 Stunden.
Aber auch Wochenenden sollen abgezogen werden wenn dazwischen.
Kann mir jemand helfen. Vielen Dank
in Datend und Datstart stehen jeweils Datums.
und in TimeStart und Timeend jeweils Uhrzeiten
Dim DatEnd As Date
Dim DatStart As Date
Dim TimeStart As Date
Dim TimeEnd As Date
DatEnd = DatEnd & " " & TimeEnd
DatStart = DatStart & " " & TimeStart
MsgBox Int(CDbl(DatEnd) - CDbl(DatStart)) & "Tag " & Format(DatEnd - DatStart, "hh:mm:ss\h")

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Differenz zwischen datums
19.05.2008 11:30:39
fcs
Hallo Chris,
leider funktioniert unter VBA die Formatdarstellung [h]:mm:ss, die die Stunden in der Tabelle über Tage summiert darstellt, in der MsgBox-Anzeige nicht.
Deshalb muss man Stunden, Minuten und Sekunden für die MsgBox-Anzeige separat berechnen.
Gruß
Franz

Sub ZeitDifferenz2()
Dim DatEnd As Date
Dim DatStart As Date
Dim TimeStart As Date
Dim TimeEnd As Date
Dim Timediff As Date
Dim Stunden As Integer, Minuten As Integer, Sekunden As Integer
DatStart = Cells(1, 2)
TimeStart = Cells(2, 2)
DatEnd = Cells(3, 2)
TimeEnd = Cells(4, 2)
For Tag = DatStart To DatEnd
Select Case Weekday(Tag, vbMonday)
Case 6, 7 ' Samstag, Sonntag
Timediff = Timediff + 0
Case Else
If Tag = DatStart Then
Timediff = 1 - TimeStart
ElseIf Tag = DatEnd Then
Timediff = Timediff + TimeEnd
Else
Timediff = Timediff + 1
End If
End Select
Next
Stunden = Int(Timediff * 24)
Minuten = Round((Timediff - Stunden / 24) * 24 * 60, 0)
Sekunden = Round((Timediff - Stunden / 24 - Minuten / 24 / 60) * 24 * 3600, 0)
MsgBox "Zeitdifferenz " & Format(DatStart + TimeStart, "DDD DD.MM.YYYY hh:mm:ss") & " bis " _
& Format(DatEnd + TimeEnd, "DDD DD.MM.YYYY hh:mm:ss") & vbLf _
& "ohne Wochenendtage: " & Format(Stunden, "0") _
& Format(Minuten, """:""00") _
& Format(Sekunden, """:""00")
End Sub


Anzeige
AW: Differenz zwischen datums
19.05.2008 11:42:41
chris
Ohh das scheint mir recht kompliziert:
Ist ja echt super deine Hilfe.Dafür vielen Dank !!!!!!!!!
Muss ich mir mal durchschauen.
Schönen tag noch !

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige