Ich habe ein Problem mit meiner selbst erstellten Addin Funktion in Excel 2007.
Bei dieser Funktion werden 3 Werte aus der Tabelle übergeben.
Ein Datum und zwei Zahlen, um damit einen Dienst Rhytmus zu errechnen.
Die Funktion (Addin) wurde unter Excel 2003 erstellt
Function TOUR(Datum, Wachabteilung As Integer, Rhytmus As Integer)
Die beiden Zahlen werden aus Zellen abgefragt, die sich im vorderen Bereich der Tabelle
befinden. Das Datum befindet sich in der 1.Zeile in jeder Spalte (fortlaufend).
Somit kann ich jetzt im neuen Excel ein ganzes Jahr (jede Spalte = ein Tag) in einer Spalte
anzeigen, was im alten nicht möglich war, da es ja nur 256 Spalten zuließ.
Jetzt funktioniert mein Addin aber nicht mehr richtig, bzw. bis Spalte 256 (IV) funktioniert _
alles wie
immer, aber ab Spalte 257 wird der Fehler #WERT! angezeigt.
Habe schon die Funktion kontolliert und festgestellt, das ab Spalte 257 KEIN Datum übergeben _
wird
und somit keine Berechnung stattfinden kann. Statt dessen hat die Variable den Inhalt Fehler _
2023
Ich habe es auch schon mit geänderten Variablen Namen "Datum" in "Schicht" probiert, brachte _
aber
das gleiche Ergebnis. Es sind auch alle verfügbaren Updates gemacht worden.
Das einzigste was funktionierte war, wenn ich anstatt das Datum aus der Zelle auszulesen, das
Datum direkt in die Eingabemaske als Text schieb.
Was aber nicht die Lösung sein kann.
Kann mir vielleicht jemand von euch helfen, habe ich vieleicht einen Fehler in meiner Funktion.
Hier noch der Aufbau der Funktion:
Dim Datum As Date
Dim Wachabteilung As Integer
Dim Rhytmus As Integer
Function TOUR(Datum, Wachabteilung As Integer, Rhytmus As Integer) ' As Integer
If Rhytmus = 12 Then
If Wachabteilung = 1 Then
Dat1 = (Datum / 8 )
Dat2 = (Datum \ 8 )
rest = Dat1 - Dat2
TOUR = ""
If rest = 0.25 Or rest = 0.625 Then TOUR = "T"
If rest = 0.375 Or rest = 0.75 Then TOUR = "N"
ElseIf Wachabteilung = 2 Then
Dat1 = (Datum / 8 )
Dat2 = (Datum \ 8 )
rest = Dat1 - Dat2
TOUR = ""
If rest = 0.5 Or rest = 0.875 Then TOUR = "T"
If rest = 0.625 Or rest = 0 Then TOUR = "N"
ElseIf Wachabteilung = 3 Then
Dat1 = (Datum / 8 )
Dat2 = (Datum \ 8 )
rest = Dat1 - Dat2
TOUR = ""
If rest = 0.75 Or rest = 0.125 Then TOUR = "T"
If rest = 0.875 Or rest = 0.25 Then TOUR = "N"
ElseIf Wachabteilung = 4 Then
Dat1 = (Datum / 8 )
Dat2 = (Datum \ 8 )
rest = Dat1 - Dat2
TOUR = ""
If rest = 0 Or rest = 0.375 Then TOUR = "T"
If rest = 0.125 Or rest = 0.5 Then TOUR = "N"
End If
ElseIf Rhytmus = 24 Then
If Wachabteilung = 1 Then
Dat1 = (Datum / 9)
Dat2 = (Datum \ 9)
rest = ((Dat1 - Dat2) * 100) \ 10
If rest = 7 Or rest = 0 Or rest = 2 Then TOUR = "X"
ElseIf Wachabteilung = 2 Then
Dat1 = (Datum / 9)
Dat2 = (Datum \ 9)
rest = ((Dat1 - Dat2) * 100) \ 10
If rest = 1 Or rest = 3 Or rest = 5 Then TOUR = "X"
ElseIf Wachabteilung = 3 Then
Dat1 = (Datum / 9)
Dat2 = (Datum \ 9)
rest = ((Dat1 - Dat2) * 100) \ 10
If rest = 4 Or rest = 6 Or rest = 8 Then TOUR = "X"
End If
End If
End Function
:? :?