Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1948to1952
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

Drop Down aus gefilterter Tabelle (nicht Autofilter !)

Drop Down aus gefilterter Tabelle (nicht Autofilter !)
25.10.2023 09:58:32
Joachim Graw
Guten Tag,

ich benötige Hilfe bei der Einrichtung eines DropDown-Feldes, das mit den Einträgen einer gefilterten Tabelle gefüllt sein soll.

Ich habe kein Office365, daher kann ich auf die Funktion Filter() nicht zurückgreifen. Benutzt wird Excel 2016.

Die Filterung wird nicht per Autofilter im Spaltenkopf vorgenommen - dafür gibt es einen wunderbaren Hinweis im Forum, der dort auch perfekt funktioniert:
https://www.herber.de/forum/archiv/1804to1808/1804648_Dropdownliste_aus_gefilterter_Tabelle.html#3

Ich muss den Filter aus einem anderen Tabellenblatt auslösen und benutze dafür den u.a. VBA-Code. Damit werden die nicht benötigten Zeilen der Tabelle erfolgreich ausgeblendet, aber eben nicht über Autofilter mit dem entsprechenden Pfeilen am Spaltenkopf.

Leider kann ich die Tabelle hier nicht hochladen, da sie voller sensibler Informationen steckt. Wenn es für die Beantwortung meiner Frage zwingend notwendig ist, bitte ich um Information, dann muss ich diese wohl "entschärft" nachbauen, was relativ viel Zeit braucht.

Wenn die oben gezeigte Vorgehensweise per u.a. VBA-Code als Filter genutzt wird, werden leider immer die ausgeblendeten Zeileneinträge dennoch angezeigt. Wenn ich probeweise in der zugrundeliegenden Tabelle den Autofilter benutze, klappt das sofort; aber dieser Weg ist leider nicht passend, da ich in einem anderen Blatt determiniere, nach welchen Kriterien in der Tabelle gefiltert werden soll.

Sub Filter_Formular_Änderung()

'
' Filter_Formular_Änderung Makro
'

'
Sheets("Prozesse").Select
Range("A10:D1000").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
Range("A7:D8"), Unique:=False
Sheets("Formular.Änderung").Select

End Sub


Wäre wirklich toll, wenn ihr mir helfen könnt.

Vielen Dank
Joachim

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Drop Down aus gefilterter Tabelle (nicht Autofilter !)
25.10.2023 10:41:51
onur
Da solltest du erstmal genauer erklären, was DU mit Dropdown-Feld meinst.
Meinst du eine Datenüberprufung oder tatsächlich eine Combobox? Combobox als Formularsteuerung oder als Active-X?
AW: Drop Down aus gefilterter Tabelle (nicht Autofilter !)
26.10.2023 08:58:53
Oberschlumpf
Moin Joachim,

ich hab gerad mal die Frage/Lösung im von dir gezeigten Link nachgebaut (Bsp-Datei war ja zum Glück vorhanden).

Und ja, von Werner wieder mal ne geniale Lösung!!

Aber zumindest ich könnte dir nicht helfen, weil eben ohne Bsp-Datei.
Und aufgrund zu vieler nicht-helfender Erfahrungen hab ich es mir abgewöhnt, Bsp-Dateien für Fragende zu erstellen, weil eben von Fragenden zu oft eine Antwort war: "Sorry, meine Datei ist anders aufgebaut. Mit deiner Bsp-Datei kann ich nix anfangen."....oder so in der Art als Antwort...

Du musst doch nicht dein Original kopieren und dann in der Kopie jeden einzelnen Original-Zellwert mit einem Bsp-Wert ersetzen.
Könntest du nicht eine neue (Bsp)Datei erstellen, in der in Blatt1 z Bsp nur 10 Spalten und so 10-20 Zeilen genutzt werden, auf die du dann ......STOPP ALLES AUF ANFANG!!!! :-)

Während ich all das hier schreibe, fällt mir wieder ein: Du "spielst" doch schon mit VBA!
Wieso denn nicht auch mit VBA weitermachen????
Nach Ausführung deines VBA-Filters könntest du doch im Blatt "Prozesse" alle gefilterten Zeilen nach noch sichtbaren Zeilen durchsuchen und so deine Datengültigkeitsliste jedes mal aufs Neue generieren und deiner Zelle zuweisen - eben auch mit VBA direkt im Anschluss an "dein VBA".

Und da kommen wir gleich zum nächsten, leider immer wieder auftretenden Problem bei vielen Fragestellungen.
Ich zitiere dich mal:

"...Wenn die oben gezeigte Vorgehensweise per u.a. VBA-Code als Filter genutzt wird, werden leider immer die ausgeblendeten Zeileneinträge dennoch angezeigt. Wenn ich probeweise in der zugrundeliegenden Tabelle den Autofilter benutze, klappt das sofort; aber dieser Weg ist leider nicht passend, da ich in einem anderen Blatt determiniere, nach welchen Kriterien in der Tabelle gefiltert werden soll. ..."


a) und bitte WELCHE ZELLE ist deine Zelle mit Datengültigkeit???
b) und bitte aus WELCHER SPALTE im Blatt "Prozesse" sollen die Werte für Datengültigkeit gesammelt werden???


Verstehst du, was ich meine?
So ganz ohne deine Bsp-Datei können wir doch gar nicht wissen, was wann wie wo hin soll.
MIT Bsp-Datei hätten wir vllt ne Chance zu erkennen, was zu a) und was zu b) gehört - weils ja in der Bsp-Datei angezeigt wird.

Nun denn, ich hab für a) + b) irgdwelche Ziele/Daten genommen, und so könnte dein erweiterter VBA-Code aussehen:
Änder deinen Code um wie folgt:


Sub Filter_Formular_Änderung()
'
' Filter_Formular_Änderung Makro
'

'
Sheets("Prozesse").Select
Range("A10:D1000").AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
Range("A7:D8"), Unique:=False
Sheets("Formular.Änderung").Select

Dim lshProz As Worksheet, lloRow As Long, lstrDataList

Set lshProz = Sheets("Prozesse")

With lshProz
For lloRow = 10 To .Cells(.Rows.Count, 1).End(xlUp).Row 'die Suche beginnt in Zeile 10; vielleicht musst du das anpassen
If .Rows(lloRow).EntireRow.Hidden = False Then
lstrDataList = lstrDataList & .Range("A" & lloRow).Value & "," 'ich hab die Werte aus Spalte A gesammelt; vielleicht musst du das ändern
End If
Next
End With

lstrDataList = Left(lstrDataList, Len(lstrDataList) - 1)

With Range("B1").Validation 'es wird die Zelle B1 mit der Datengültigkeitsliste belegt; vielleicht musst du das ändern
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:=lstrDataList
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With

Set lshProz = Nothing

End Sub

Hilfts?
Nein? Dann vielleicht doch lieber mit einer Bsp-Datei per Upload von dir.

Ciao
Thorsten
Anzeige
AW: Drop Down aus gefilterter Tabelle (nicht Autofilter !)
27.10.2023 12:59:22
Joachim
Hallo,

zuerst einmal bedanke ich mich sehr für deine umfangreiche Hilfe.

Im Rahmen weiterer Versuche bin ich darauf aufmerksam geworden, dass auch die Funktion AutoFilter mit VBA gut gesteuert werden kann. Damit habe ich nun weiter try-and-error gespielt. Jetzt läuft der Code von Werner perfekt und ohne jede Einschränkung.

Bitte um Entschuldigung, dass ich mit meiner Fragestellung mehrere User fleißig gemacht habe und doch selbst zum Ziel kommen konnte. Habe wohl zu früh gefragt.

Bin super damit zufrieden und wünsche ein schönes Wochenende.
AW: Drop Down aus gefilterter Tabelle (nicht Autofilter !)
27.10.2023 13:23:51
Oberschlumpf
Hi Joachim,

mach dir nich deshalb Gedanken, weil auch du fleißig warst! :-)

Kein Problem, kann ja passieren.

Dann also...Ciao...bis zu deiner nächsten Frage :-)
Thorsten
Anzeige
AW: Drop Down aus gefilterter Tabelle (nicht Autofilter !)
25.10.2023 12:01:58
Joachim Graw
Hallo onur,

danke für den Hinweis.

Tatsächlich arbeite ich ausschließlich mit Datenüberprüfung.

Beste Grüße
Joachim

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige