goodbytes
Goto Top

Excel - Herausgefilterte Zeilen bei Berechnungen nicht berücksichtigen

Hallo,
in meiner Exceldatei kann nach verschiedenen Kriterien gefiltert werden; in einer Zeile werden dabei mehrere Filter gesetzt, welche sich auf die Anzahl der Datensätze auswirken.
Mittels einer Funktion kann icjh nun festlegen, dass nur die sichtbaren Zeilen auch in den zum Teil sehr aufwändigen Berechnungen berücksichtigt werden.

Function SUMME_Visible_Cells(Cells_Summe As Object)

Dim EndSumme As Single
Application.Volatile

For Each Cell In Cells_Summe
    If Cell.Rows.Hidden = False Then
    If Cell.Columns.Hidden = False Then
    If IsNumeric(Cell.Value) Then
EndSumme = EndSumme + Cell.Value
    End If
    End If
    End If
Next
SUMME_Visible_Cells = EndSumme

End Function

Nun möchte ich aber die Berechnung nicht in dieser Funktion durchführen, sondern soll sie der Benutzer selbst in eingeben. Die Funktion soll nur im Hintergrund sicherstellen, dass auch nur die nicht herausgefilterten Datensätze berücksichtigt werden.

Kann man es vielleicht machen, dass der Benutzer seinen Bereich in seinen Berechnungen der Funktion übergibt und nur die sichtbaren Zellen zurückbekommt.

Also in etwa so: =Cells_Visible(B3:B300) und er kann den zurückgegebenen Berech direkt nutzen (seine Berechnung mit meiner Funktion "Cells_Visible" z.B.: =SUMME(=Cells_VisibleB3:B300)).
Ist natürlich falsch so, soll aber nur das Prinzip erklären.

Oder gibt es eine Möglichkeit, dass eine solche Funktion immer automatisch im Hintergrund werkelt und der Benutzer immer nur mit den nicht herausgefilterten Zellen seine ganz normalen Berechnungen macht?

Torsten

Content-ID: 173812

Url: https://administrator.de/contentid/173812

Ausgedruckt am: 05.11.2024 um 02:11 Uhr

vorstieg
vorstieg 28.09.2011 um 11:09:27 Uhr
Goto Top
goodbytes
goodbytes 28.09.2011 um 13:53:18 Uhr
Goto Top
Hallo,
nein, mittels Teilergebnis reicht es nicht hin. Dazu sind die Berechnungen zu komplex.

Mein Beispiel war je nur sehr simpel gehalten; damit würde es ja gehen...

Gruß
Torsten
vorstieg
vorstieg 29.09.2011 um 07:45:24 Uhr
Goto Top
Hallo!

Tut mir leid, ich verstehe das Problem nicht ganz.
Der User kann doch mit = SUMME_Visible_Cells(...) deine Funktion direkt benutzen. Der Funktion kannst du den Bereich mit (rng As Range) übergeben.
Und da in der Funktion (For Each Zelle In rng) sowieso geprüft wird ob die Zellen ausgeblendet sind oder nicht, musst du den Bereich doch vorher nicht mehr filtern.
oder verstehe ich das falsch?

mfg Flo