20.02.2019, 22:27
Hallo liebe Experten,
mit Hilfe dieses Forums habe ich eine Funktion gebaut, die mir zeigt, wieviel Tage eines Zeitraums A in einem Zeitraum B liegen. Mit der Zeile "If ((Teilanfang > Teilende) ..." möchte ich, dass die Funktion bei verkehrter Eingabe von Teilanfang/Feilende bzw. Zeitraumanfang/Zeitraumende 0 ausgibt.
Das funktioniert nicht.
Was habe ich falsch gemacht?
Vielen Dank im Voraus
Excelbeginner
mit Hilfe dieses Forums habe ich eine Funktion gebaut, die mir zeigt, wieviel Tage eines Zeitraums A in einem Zeitraum B liegen. Mit der Zeile "If ((Teilanfang > Teilende) ..." möchte ich, dass die Funktion bei verkehrter Eingabe von Teilanfang/Feilende bzw. Zeitraumanfang/Zeitraumende 0 ausgibt.
Das funktioniert nicht.
Was habe ich falsch gemacht?
Code:
Public Function ZEITTEIL(Teilanfang As Single, Teilende As Single, Zeitraumanfang As Single, Zeitraumende As Single) As Single
If ((Teilanfang > Teilende) Or (Zeitraumanfang > Zeitraumende)) Then ZEITTEIL = 0
If ((Teilanfang <= Zeitraumanfang) And (Teilende <= Zeitraumanfang)) Or ((Teilanfang >= Zeitraumende) And (Teilende >= Zeitraumende)) Then
ZEITTEIL = 0
Else
Dim speicher(4) As Date
Dim i As Byte
Dim merker As Byte
merker = 0
speicher(0) = DateDiff("d", Teilanfang, Teilende)
speicher(1) = DateDiff("d", Teilanfang, Zeitraumende)
speicher(2) = DateDiff("d", Zeitraumanfang, Teilende)
speicher(3) = DateDiff("d", Zeitraumanfang, Zeitraumende)
For i = 1 To 3
If speicher(merker) > speicher(i) Then
merker = i
End If
Next i
ZEITTEIL = speicher(merker)
End If
End Function
Vielen Dank im Voraus
Excelbeginner