Hallo zusammen,
ich habe eine benutzerdefinierte VBA-Funktion, die ich in einem Modul gespeichert habe.
Der Funktion wird eine Zelle (as Range) übergeben und liefert String zurück. Die Funktion wird auf mehreren Worksheets wie eine Formel benutzt.
Jetzt ist es so, dass die sich diese Formeln nicht berechnen. Ein Application.Calculate funktioniert nicht.
Erst Alt+Strg+Shift+F9 (Application.CalculateFullRebuild) führt zu einer Neu-Berechnung.
Allerdings gibt es einen komischen Effekt. Die Formeln werden nur auf dem Worksheet richtig berechnet, welches gerade ausgewählt ist. Auf einem andere Worksheet liefern die Formeln falsche Ergebnisse. Wechselt man nun auf dieses Sheet und erzwingt dort die Neu-Berechnung liefern die Formeln auf dieser Seite auch richtige Werte. Allerdings liefern dann die Formeln auf dem anderen Sheet wieder falsche Werte.Die unterschiedlichen Worksheets hängen nicht zusammen. Der einzige Zusammenhang besteht in der Nutzung von ein und derselben benutzerdefinierten VBA-Funktion.
Was verursacht das Problem? Wie behebe ich das Problem? Hier die Funktion:
Public Function fn_PivDel(Zelle As Range) As String
If Zelle.Value = „Kennzahl“ Then
fn_PivDel = „DELETE“
Exit Function
End If
If Zelle.Value = „Summe von Wert“
Then fn_PivDel = „DELETE“
Exit Function
End If
If Zelle.Value = „“ Then
fn_PivDel = „DELETE“
Exit Function
End If
fn_PivDel = „OK“
End Function
PS: Nein, ich kann die Datei nicht hochladen.
Gruß
Stephan