ich habe folgende Funktion geschrieben:
Function SummeNachRechtsMitWarnung(Zelle As Range, Laenge As Integer)
' Summiert "Zelle" aus gesehen die sich selber und die nächsten rechten "Laenge" Zellwerte
Application.Volatile
Dim Aktiv_Zeile, Aktiv_Spalte As Integer
Dim n As Integer
Dim Warnung As Boolean
Dim Summe As Double
Warnung = False
Aktiv_Zeile = Zelle.Row
Aktiv_Spalte = Zelle.Column
Summe = 0
For n = Aktiv_Spalte To Aktiv_Spalte + Laenge - 1
If Not (Cells(Aktiv_Zeile, n).Value = "---" _
Or Cells(Aktiv_Zeile, n).Value = "" _
Or Cells(Aktiv_Zeile, n).Value = " ") Then
Summe = Summe + Cells(Aktiv_Zeile, n).Value
Else
Warnung = True
End If
' auskommentiert: Wert Null soll hier erlaubt sein!
' If Cells(Aktiv_Zeile, n).Value = 0 Then
' Warnung = True
' End If
Next n
If Warnung Then
SummeNachRechtsMitWarnung = "inc. / sum = " & Summe
Else
SummeNachRechtsMitWarnung = Summe
End If
End Function
Wenn ich diese Funktion in einem Excel-Blatt benutze, rechnet sie nach erneutem Aufruf von dem Blatt nicht richtig. Wenn man das Blatt neu berechnen lässt, kommt allerdings das korrekte Ergebnis. Auch ein
Sub Workbook_Open()
Application.Calculate
End Sub
bringt keine Abhilfe.
Langer Post, kurze Frage: was mache ich falsch? :-)