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.

VBA - filtern im Filter
#1
Hallo liebe Excel-Freunde, 

ich stehe vor einem Problem wo ich nicht mehr weiter komme und vielleicht könnt ihr mir weiter helfen. Es geht um Folgendes:

Ich hab eine Tabelle mit mehreren Spalten die gewisse Daten enthalten. Die Liste ist so eine Art Datenbank. Eine Spalte enthält ein Datumswert und nach dieser Spalte filtere ich meine Daten. Zuerst das Jahr und dann das Monat. Theoretisch geht es ja über die Filterfunktion, jedoch möchte ich das bisschen benutzerfreundlicher gestalten und Makros einfügen, so eine Art "Karteikarten". Über meine Tabelle sind Makro die die Jahre 2017, 2018, 2019 anzeigen und unter den Jahren sind die Monate Januar - Dezember. 

Ich bin schon soweit das ich die Tabelle nach den Jahren filtern kann. Also ich klicke das jeweilige Jahr an dann werden nur die Daten davon anzeigt. 

Jetzt möchte ich, das er mir nur das jeweilige Monat vom ausgewählten Jahr anzeigt. Also ich klicke auf 2017, dann auf Januar oder April. Je nachdem was ich sehen möchte. Wenn ich auf 2018 klicke dann sollte ich eben nur die Monate von 2018 wählen können. usw. 

Hoffe ich habe es halbwegs verständlich erklärt und bedanke mich schon im Vorraus für die Hilfe. :)
Antworten Top
#2
Hallo,

ein wenig mehr über deine Liste hättest du schon verraten dürfen. Noch viel einfacher, als über die Autofilterfunktion, dürfte das kaum möglich sein.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Antworten Top
#3
Zitat:Theoretisch geht es ja über die Filterfunktion
Das geht sogar praktisch! Erklär doch mal, wieso man Stunden in eine Programmierung stecken möchte, die dann etwas macht, was der Autofilter standardmäßig in perfekter Weise erledigt? Was ist daran benutzerfreundlicher, wenn der User statt auf einen Pfeil auf einen Knopf drücken soll?
Außerdem kann nicht in einer bereits gefilterten Spalte nochmal gefiltert werden. Das was du möchtest wäre in Wahrheit der Ablauf:
- Filter Spalte nach Jahr
- Zeige die verfügbaren verbliebenen Monate an
- Lösche den Filter aus der Spalte
- Setze erneut den Filter mit Jahr & Monat

Das ist programmiertechnisch gar nicht so wenig Aufwand.
Schöne Grüße
Berni
Antworten Top
#4
hier wäre noch mein VBA Code für Januar. Sobald ich jedoch auf das Makro klicke zeigt er mir nur Januar 2019 an, egal ob ich 2017 oder 2018 ausgewählt habe.


Angehängte Dateien
.txt   VBA.txt (Größe: 489 Bytes / Downloads: 3)
Antworten Top
#5
Hi,

stell mal bitte deine Datei oder eine Beispieldatei, die vom Aufbau her deinem Original gleichen muss, vor. Bitte keine ScrShots! https://www.clever-excel-forum.de/thread-326.html
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Antworten Top
#6
Das der Autofilter perfekt funktioniert ist mir auch bekannt.. das war auch nicht meine Frage.

Ich möchte lediglich wissen ob es ein Befehl gibt, welcher dem Makro sagt das er in der aktuell angezeigten Tabelle filtert und nicht die gesamte Tabelle durchläuft.

Ich hänge noch ein Bild dazu


Angehängte Dateien Thumbnail(s)
   
Antworten Top
#7
Okay, ich erstelle schnell eine Beispieldatei dann lade ich sie hoch.
Antworten Top
#8
Zitat:ob es ein Befehl gibt, welcher dem Makro sagt das er in der aktuell angezeigten Tabelle filtert und nicht die gesamte Tabelle durchläuft.
Jein. Wie bereits erwähnt kann der Autofilter eine bereits gefilterte Spalte nicht nochmal filtern. Es geht nur filtern - Filter aufheben - erneut filtern. Mittels Schleife kannst du die übriggebliebenen Monate rausfinden.

Was ginge, wäre das "manuelle" Ausblenden nicht benötigter Zeilen. Das kann mittels Schleife durchlaufen werden. Ob das sinnvoll ist, überlasse ich deiner Entscheidung. Es ist auf jeden Fall eine sehr langsame Lösung.
Schöne Grüße
Berni
Antworten Top


Gehe zu:


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