Filterergebnis auf Anzahl Zeilen beschränken
#1

.xlsm   beispiel.xlsm (Größe: 145,16 KB / Downloads: 7)

Hallo zusammen, 

vielleicht hat jemand eine Idee für mein Problem und würde mir damit sehr weiterhelfen:

Durch die Auswahl in einer Combobox wird eine bestimmte Filterkombination (ca. 30 Auswahlmöglichkeiten) gesetzt. 
Ich möchte jetzt, dass er mir nur die ersten 50 Zeilen des Filterergebnisses (Daten sind schon absteigend sortiert) anzeigt und die restlichen Zeilen ausblendet.
Sodass man für jede Filterkombination dann die Top 50 angezeigt bekommt. 



Ich freue mich über jeden Ansatz und jeden, der seine Zeit zur Lösungsfindung opfert.
Ich hänge mal noch eine Beispieldatei an! (Makro zur Erstellung der Filter heißt "Arbeitsvorrat). Nach Öffnen der Datei kurz Button "Dropdown füllen" drücken, um die Auswahl angezeigt zu bekommen. Wählt man Auswahl "a" (bezieht sich auf Feld "Disponent"  und führt aus versteht man was ich meine. Das Ergebnis soll am Ende auf 50 Zeilen ab Zeile 14 begrenzt sein. 


Vom Prinzip her wäre meine Idee- "Finde die erste befüllte und nicht ausgeblendete Zelle in Spalte C, merke dir die Poisition. Dann finde die nächste befüllte und nicht ausgeblendete Zelle in Spalte C und blende alle Zeilen dazwischen aus. Wiederhole 50x und beende."
Da ich aber leider eher nur Basics in VBA beherrsche, scheitert es an der Umsetzung- falls denn die Überlegung selbst überhaupt logisch ist.

Danke schonmal!
Top
#2
Moin

Ich sehe hier eher Lösungen mit Pivot oder PQ.
Die Combobox kommt dann natürlich auf den Müll.
Wir sehen uns!
... Detlef

Meine Beiträge können Ironie oder Sarkasmus enthalten.

Top
#3
Aber das wäre doch dann je eine Pivot für jede Filtermöglichkeit und somit dann ziemlich unübersichtlich, oder? 
Zudem benötige ich die Einzragungen,, die in dem Reiter in dem die Filter gesetzt werden, gemacht werden für eine Datenbank. Das wäre als Pivot auch eher ungünstig. 

Und was meinst du mit PQ?
Top
#4
(09.04.2019, 21:20)robert_r schrieb: ...
Und was meinst du mit PQ?

Hallo, ich denke hier ist Power Query gemeint... (^_-)
Gruß Jörg
stolzes Mitglied im ----Excel-Verein
Freund einer excellenten Power Query-Abfrage
Top
#5
(09.04.2019, 21:20)robert_r schrieb: Zudem benötige ich die Einzragungen,, die in dem Reiter in dem die Filter gesetzt werden, gemacht werden für eine Datenbank. Das wäre als Pivot auch eher ungünstig. 
Du brauchst die Datenbank für eine andere Datenbank?
Dann geht das in Richtung PQ oder VBA (Quertables) oder Access.
Wir sehen uns!
... Detlef

Meine Beiträge können Ironie oder Sarkasmus enthalten.

Top
#6
Hi

in X14 die Formel und bis X1000 nach unten kopieren.
=TEILERGEBNIS(103;C14)*(MAX($X$13:X13)+1)

Jetzt deinen Filter wie bisher anwenden und danach noch Spalte X auf < 51 filtern.

Gruß Elex
[-] Folgende(r) 1 Nutzer sagt Danke an Elex für diesen Beitrag:
  • robert_r
Top
#7
Hat fantastisch funktioniert, vielen herzlichen Dank!!
Ich habe es sogar problemlos in meinen Code integriert bekommen, sodass alles automatisch abläuft.

Allerdings konnte ich mit der Formel so gar nichts anfangen, vielleicht könntest du mir bei Gelegenheit kurz "übersetzen", warum sie tut, was sie tut? 
So hat das ganze dann noch einen besseren Lerneffekt :)
Denn So wie ich sie verstehe, würde sie ja schon in X14 den Wert 2 ausgeben. Huh
Top
#8
Hi
 
Die Funktion Teilergebnis kann sich bei ihrer Auswertung auf sichtbare Zeilen beschränken.
Einen ersten Überblick zur Funktion Teilergebnis verschafft die Excelhilfe.
 
Zum Testen kannst du folgende Beispiele nutzen.
Bsp 1.
Blende jetzt mal ein paar Zeilen (2 – 10) aus und schau dir die drei Ergebnisse in Zeile 12 an.
____|___A__|____B___|___C__|_D|
   1|Name  |Vorname |Alter |  |
   2|Name1 |Vor1    |    11|  |
   3|Name2 |Vor2    |    12|  |
   4|Name3 |Vor3    |    13|  |
   5|Name4 |Vor4    |    14|  |
   6|Name5 |Vor5    |    15|  |
   7|Name6 |Vor6    |    16|  |
   8|Name7 |Vor7    |    17|  |
   9|Name8 |Vor8    |    18|  |
  10|Name9 |Vor9    |    19|  |
  11|      |        |      |  |
  12|     9|       9|     9|  |

A12    =ANZAHL2(C2:C10)
B12    =TEILERGEBNIS(3;C2:C10)
C12    =TEILERGEBNIS(103;C2:C10)
 
Bsp 2.
So kannst du dir die Ergebnisse für die Formel in D2 – D10 sichtbar machen, wenn du Zeilen ausblendest.
____|___A__|____B___|____C___|_D|
   1|Name  |Vorname |Alter   |  |
   2|Name1 |Vor1    |      11| 1|
   3|Name2 |Vor2    |      12| 2|
   4|Name3 |Vor3    |      13| 3|
   5|Name4 |Vor4    |      14| 4|
   6|Name5 |Vor5    |      15| 5|
   7|Name6 |Vor6    |      16| 6|
   8|Name7 |Vor7    |      17| 7|
   9|Name8 |Vor8    |      18| 8|
  10|Name9 |Vor9    |      19| 9|
  11|      |        |        |  |
  12|      |        |        |  |
  13|      |        |D2  ->  | 1|
  14|      |        |D3  ->  | 2|
  15|      |        |D4  ->  | 3|
  16|      |        |D5  ->  | 4|
  17|      |        |D6  ->  | 5|
  18|      |        |D7  ->  | 6|
  19|      |        |D8  ->  | 7|
  20|      |        |D9  ->  | 8|
  21|      |        |D10  -> | 9|

D2      =TEILERGEBNIS(103;C2)*(MAX($D$1:D1)+1)        'bis D10 kopieren
D13    =D2        'bis D21 kopieren
 
Da die Funktion Teilergebnis(103 “Anzahl2“ ; C2) sich jeweils nur auf eine Zelle bezieht ist das Ergebnis 0 wenn die Zelle ausgeblendet ist, da ausgeblendete nicht mit gezählt werden.
 
Gruß Elex
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste