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.
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
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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 173812
Url: https://administrator.de/contentid/173812
Ausgedruckt am: 22.11.2024 um 05:11 Uhr
3 Kommentare
Neuester Kommentar
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
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