1.2k Aufrufe
Gefragt in Tabellenkalkulation von ahorn38 Experte (3.2k Punkte)
Hallo,

ich suche einen Code mit dem ich aus der Differenz zweier unterschiedlicher Zeiten z,B. 8:00 und 9:15 bestimmen kann, wie oft 15min darin vorkommen - im Bsp. wäre die Lösung 5.
Die Ausgangszeiten sind immer so, dass es ganzzahlig aufgeht.
Wäre toll, wenn jemand dazu einen Tipp hätte. Danke und Gruß
Andreas

7 Antworten

0 Punkte
Beantwortet von rainberg Profi (14.9k Punkte)
Hallo Andreas,

vielleicht so

Option Explicit

Sub test()
Dim intErg As Integer
intErg = (Range("B1") - Range("A1")) * 96
' B1 = Ende der Zeitspanne, A1 = Beginn der Zeitspanne
MsgBox intErg
End Sub


Gruß
Rainer
0 Punkte
Beantwortet von nighty Experte (6.6k Punkte)
hi all ^^

noch eine variante

gruss nighty

=Anz15Min(Date1;Date2;MinutenVersatz)
MinutenVersatz ist dann die 15

Function Anz15Min(T1 As Date, T2 As Date, T3 As Long) As Long
If T1 >= T2 Then
Anz15Min = Round((Hour(T1) * 60 + Minute(T1) - Hour(T2) * 60 + Minute(T2)) / T3)
Else
Anz15Min = Round((Hour(T2) * 60 + Minute(T2) - Hour(T1) * 60 + Minute(T1)) / T3)
End If
End Function
0 Punkte
Beantwortet von ahorn38 Experte (3.2k Punkte)
Hallo, Danke euch Beiden!!!!
Das löst mein Problem und hilft mir weiter.
Eine Frage aber noch an den Formel-König Rainer: Warum gerade Faktor 96 und nicht Quotient x....? Kannst du das noch kurz erklären.
Danke und Gruß
Andreas
0 Punkte
Beantwortet von rainberg Profi (14.9k Punkte)
Hallo Andreas,

du könntest auch schreiben

intErg = (Range("B1") - Range("A1")) * 1440/15


*1440 rechnet die Zeitdifferenz in Dezimalminuten um und teilt diese durch 15

Gruß
Rainer
0 Punkte
Beantwortet von ahorn38 Experte (3.2k Punkte)
Hallo Rainer,
Woher weißt du das nur alles....!!!???? Ich hab den halben Tag gegoogelt, da war nichts und du
hast sofort die Lösung!
Danke und schönen Abend!

P.S. Die Funktion von nighty ist auch nicht schlecht!,
0 Punkte
Beantwortet von rainberg Profi (14.9k Punkte)
Hallo Andreas,

mit Wissen hat diese Problematik eigentlich nicht viel zu tun, eher mit logischem Denken.

Man muss nur wissen, dass in der Excekzeitrechnung 1 Tag durch den Wert 1 ausgedrückt wird.
Folglich sind Stunden, Minuten und Sekunden immer die entsprechenden Bruchteile von 1.

Also:
1/24 = 1 Stunde
1/1440 =1 Minute
1/86400 = 1 Sekunde

Gruß
Rainer
0 Punkte
Beantwortet von ahorn38 Experte (3.2k Punkte)
Hallo Rainer,
ok, irgendwie war mir das klar, aber ich habe im Zusammenhang mit meinem Problem die "Brücke" nicht gefunden. Allerdings hätte ich dann wahrscheinlich die 96 als Quotienten und nicht als Faktor genommen, denn ich wollte ja die Zeitspanne "aufgeteilt" haben...
Also nochmals DANKE!!
Gruß Andreas
...