Function
SummeWennAb(Bereich
As
Range, Suchkriterien, Summe_Bereich
As
Range)
Dim
l
As
Long
, u
As
Long
, i
As
Long
, s
As
Double
, Mappe
As
Workbook
Application.Volatile
Set
Mappe = Bereich.Parent.Parent
l = Bereich.Parent.Index: u = Summe_Bereich.Parent.Index
If
l > u
Then
i = u: u = l: l = i
If
l = u
Then
u = Mappe.Sheets.Count
If
Mappe.Name <> Summe_Bereich.Parent.Parent.Name
Then
SummeWennAb =
"#Mappe!"
:
Exit
Function
For
i = l
To
u
s = s + Application.WorksheetFunction.SumIf(Mappe.Sheets(i).Range(Bereich.Address), _
Suchkriterien, Mappe.Sheets(i).Range(Summe_Bereich.Address))
Next
i
SummeWennAb = s
End
Function