Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1808to1812
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

TOP-10 Filter in VBA

TOP-10 Filter in VBA
09.02.2021 16:24:33
Elmar
Hallo Experten,
ich hab eine ganz spezielle Frage zu einem Filter "Top 10" in einem Makro.
Ich habe eine große Tabelle, in der in der Spalte "N" eine Summe gebildet wird. Diese Summe wird berechnet anhand einer Formel, (Summe aus anderen Spalten und daraus mind. 2% usw.) und wenn dann ein bestimmter Wert unterschritten wird, setzt die Formel "0".
Nun wird geschaut, über den Zahlenfilter / Obere 10/ was sind die 10 höchsten Werte aus Spalte "N".
Wenn nun keine 10 Werte mehr da sind, die in die TOP 10 fallen, stürzt das Makro ab.
Ich suche nach einem Weg, wie ich dem Makro sagen kann, "Nimm grundsätzlich die TOP-10, aber nur dann, wenn auch 10 Werte in der Spalte "N" da und diese auch größer als "0" sind. Wenn es keine 10 Werte über 0 gibt (z.B nur 7), dann nimm einfach diese als "Top-7".
Ich hoffe, ich hab das einigermaßen verständlich formuliert, vielleicht hat einer von euch Experten einen Tipp.
Grüße aus Bayern
Elmar

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: TOP-10 Filter in VBA und wo ist der Code?(owT)
09.02.2021 17:26:24
EtoPHG

AW: TOP-10 Filter in VBA und wo ist der Code?(owT)
09.02.2021 19:55:59
Elmar
So beginnt der Code (zunächst Formel usw.) Die angesprochenen Spalten können unterschiedlich sein, meist ab Spalte N....
rngCell.Offset(1, 0).Cells(1, 2).Select
Range(ActiveCell, ActiveCell.Offset(irow6 - 26, 0)).Delete
ActiveCell.FormulaR1C1 = _
"=IF(ISERROR(SUM(RC[-6]:RC[-2])/RC3),0,IF(SUM(RC[-6]:RC[-2])/RC3 rngCell.Offset(1, 0).Cells(1, 2).Select
Range(ActiveCell, ActiveCell.Offset(irow6 - 26, 0)).FillDown
rngCell.Offset(0, 0).Cells(1, 2).Select
Hier setzte ich dann den Filter (Top-10) und wenn es eben weniger als 10 Werte >0 sind, stürzt das Makro ab.
Selection.AutoFilter
Range(ActiveCell, ActiveCell.Offset(-1, 0)).AutoFilter Field:=ActiveCell.Column, Criteria1:="10", _
Operator:=xlTop10Items
VG
Elmar
Anzeige
AW: TOP-10 Filter in VBA und wo ist der Code?(owT)
10.02.2021 13:59:45
Yal
Hallo Elmar,
im Prinzip kannst Du die Formel "Rang" in einer Hilfsspalte verwenden und darauf <=10 filtern.
VG Yal
AW: TOP-10 Filter in VBA und wo ist der Code?(owT)
10.02.2021 18:43:52
Elmar
Hallo Yal,
darauf hätte ich ja auch kommen können :)
DANKE DIR
VG aus Bayern
Elmar
Vielen Dank für die Rückmeldung. oT
11.02.2021 09:22:37
Yal
AW: TOP-10 Filter in VBA
09.02.2021 17:45:25
onur
Du musst Zeile 17 ändern.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige