Aktuell kann es Probleme bei der Anmeldung mit dem Chrome oder Edge Browser geben. Ihr müsstet in die Einstellungen des Browsers gehen und Cache, Cookies und sofern vorhanden, gespeicherte Passwörter vom CEF löschen oder alternativ auf einen anderen Browser ausweichen. Ursache sind vermutlich kürzliche Browserupdates. x

Ergebnis 0
#1
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?



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
Top
#2
Hallo, :19:

Kommentare in der Datei: :21:
[attachment=22706]
Top
#3
Thumbs Up 
Hallo Case,

allerbesten Dank, auch für die Erläuterung, die es gut verständlich macht.

Funktioniert tadellos!!

Excelbeginner
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste