Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Filterung mit VBA Codes
#1
Hallo,

ich habe in der Anlage einen Code zur automatisierten Filterung der Spalte "A" in Register "Werte" und zur Ermittlung der sich dadurch ergebenden Summen in Spalte "C". Diese Summen werden anschließend im Register "Summe" aufgelistet. Es besteht jetzt noch folgendes Problem. Ich würde gerne zur bestehenden Filterung in Spalte "A" zusätzlich eine Filterung in Spalte "B" im Code verankern (=Filterung nach Jahr und Monat). Dadurch müssten alle Werte aufgelistet werden, welche sich aus der Filterung in Spalte "A" und zusätzlich der Filterung in Spalte "B" ergeben. Die Zeile im Makro "Werte_Filterung" lt. Anlage, die derzeit die Filterung in Spalte A beschreibt ist:

Code:
Worksheets("Werte").Range("$A$1:$G$1000").AutoFilter Field:=1, Criteria1:=Worksheets("Summe").Cells(bBereich, 1)


Ich nehme an, dass anschließend eine zweite Zeile für die zusätzliche Filterung der Spalte "B" integriert werden müßte, welche jedoch alle Varianten abdeckt (ich nehme an mit einer Schleife).

Ich würde mich freuen, wenn Ihr mich bei meinem Problem unterstützen könntet!


Angehängte Dateien
.xlsm   Filterung.xlsm (Größe: 29,5 KB / Downloads: 17)
Antworten Top
#2
Hallo,

das kannst du ganz komfortabel mit der Standardfunktion Teilergebnis machen.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Antworten Top
#3
Hallo Klaus-Dieter,

ich würde die zusätzliche Filterung gerne im bestehenden VBA Code einbauen, da ich den Code automatisiert in Kombination mit weiteren Codes ausführen würde. Meine Anlage zeigt lediglich eine Beispieltabelle. Die Tabelle, in die ich den Code integrieren möchte, ist umfangreicher.
Antworten Top
#4
Hallo,


Zitat:... gerne im bestehenden VBA Code einbauen, da ich den Code automatisiert in Kombination
mit weiteren Codes ausführen würde


wenn ich richtig verstehe, was Du machen willst, so ist das der vollkommen falsche Weg.

Man bastelt keinen Spaghetticode nach dem Muster "JELÄNGER, JELIEBER", der dann
auch pflichtschuldig schön lange durch das Programm rödelt. Ein unschätzbarer Vorteil
vön VB und VBA ist es, daß man die Codes modular aufbauen kann, und sie dadurch
klein, übersichtlich und schnell zu halten.
VBA arbeitet den Code zeilenweise ab, das heißt, alles, was nicht im Code steht, ist auch
nicht in der Lage, ihn auszubremsen. Zu allem anderen kann man bei Bedarf Verzweigen.

Weil Du das gerade als Begründung für "wasauchimmer" angeführt hast, dem VBA ist es im
Übrigen Pupsegal, wie umfangreich die zu bearbeitende Datei ist.
________________________________________________________________________
wer aufgibt, ohne es versucht zu haben, gibt einfach nur auf!

Grüße aus Norderstedt, Peter
Antworten Top
#5
Hallo,

danke für die Rückmeldung. Es würde mich freuen, wenn mich jemand bei der Anpassung meines bestehenden Codes für die Möglichkeit einer erweiterten Filterung unterstützen könnte. Wenn es bessere Alternativen zum bestehenden Code gibt, dann wäre das natürlich auch gut.
Antworten Top
#6
Hallo,

zeige Du doch mal, wie das Ergebnis im Blatt Summe dann aussehen soll.

Gruß Uwe
Antworten Top
#7
Hallo,

das Problem könnte eventuell mit lediglich einem weiteren Code gelöst werden, der mir die zu filternden Werte im Register "Summe" passend anordnet, um diese nachfolgend mit dem bereits vorhandenen Code zu filtern. 

Lt. dem derzeitigen Code könnte ich die zu filternden Jahre in Spalte A und die zu filternden Monate in Spalte B eintragen lassen. Nun wäre es wichtig in einer dritten Spalte per Code jeden einzelnen Eintrag in Spalte A jeweils allen Einträgen in Spalte B gegenüberzustellen. Dadurch würde in diesem Fall (siehe Bild als Beilage) z.B. in Spalte C das Jahr 2014 (aus Spalte A) neben jedem Monat (aus Spalte B in Spalte D übernommen) stehen und nachfolgend darunter das Jahr 2015 neben jedem Monat (aus Spalte D übernommen) eingetragen sein bis hin zum letzten Eintrag 2019. Eventuell hättet Ihr da eine geeignete Lösung als VBA Code.


Angehängte Dateien Thumbnail(s)
   
Antworten Top
#8
Hallo,

da ich davon ausgehe, dass du dich mit meinem Vorschlag, die Funktion Teilergebnis einzusetzen, entweder nicht beschäftigt hast, oder kein Ergebnis bekommen hast, das dich zufrieden stellt, hier deine Datei mit dem eingearbeiteten Vorschlag. Für Rückfragen stehe ich gerne zur Verfügung.


Angehängte Dateien
.xlsm   Filterung (1).xlsm (Größe: 27,01 KB / Downloads: 8)
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Antworten Top
#9
Hallo Klaus-Dieter,

vielen Dank für Deinen Vorschlag, welche als Excel Lösung perfekt ist. Ich würde dazu noch einen Code suchen, der diese Auflistung automatisiert in die jeweilige Tabelle einträgt.
Antworten Top
#10
Hallo,

mein ursprüngliches Problem mit der Filterung konnte ich gestern noch lösen, habe jedoch noch ein weiteres Problem und bitte um Eure Mithilfe!

Mit dem nachfolgendem Code wird in der Regel die Filterung eines Auswahlkriteriums ermöglicht (hier: "2019"). Nun möchte ich gerne in diesem Code nach zwei Kriterien in derselben Spalte filtern, z.B. "2019" und "2015". Ich habe aufgrund von anderen Postings erfahren, dass das angeblich nur anhand eines zusätzlichen "Array" möglich ist, dessen Name dann in diesem Code als Suchkriterium angegeben wird. Wie könnte ich nun dennoch im Code nach 2 oder mehr Suchkriterien filtern bzw. wie würde da ein Array aussehen, das diese Aufgabe übernehmen könnte?

Code:
Worksheets("Werte").Range("$A$1:$G$1000").AutoFilter Field:=1, Criteria1:="2019"
Antworten Top


Gehe zu:


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