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.

Ausfiltern von Daten über Userform
#1
Hallo zusammen, 

ich bastel mal wieder an einer Datei und suche nun den passenden Code.  Huh

Im Grunde möchte ich eine bestehende Datenbank (ca. 2500 Zeilen, 30 Spalten) per VBA filtern und die Daten in ein neues Tabellenblatt kopieren. Quasi ein Extrakt aus der Gesamtübersicht für jeden Kunden.

Als Kriterium soll die Kundennummer dienen, welche ich aber über ein Userform (Listbox) auswählen möchte. Um die Listbox mit den entsprechenden Daten zu füllen, habe ich eine Hilfstabelle mit den Kundennummern und -namen erstellt. Eine abgespeckte Version habe ich mal in den Anhang gepackt

Hat hier jemand eventuell eine Idee wie man das machen könnte? Per Autofilter vielleicht? Nur wie übernimmt der Autofilter die Eingabe/Auswahl aus der Listbox?

Vorab vielen Dank & Grüße


Angehängte Dateien
.xlsm   Datenper Userform ausfiltern 080920.xlsm (Größe: 62,17 KB / Downloads: 6)
Antwortento top
#2
Hallo,

auch hier die Frage, warum du das nicht einfach mit dem Autofilter machst?
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Antwortento top
#3
Hallöchen,

nach dem Filtern müsstest Du dann nur noch das Kopieren programmieren Smile Und den Autofilter kannst Du entweder per Code ausschalten oder auch per Hand.

Trotzdem noch ein paar Hinweise. Den Autofilter zu setzen kannst Du aufzeichnen. Dort steht dann z.B. das Wort, nach dem Du gefiltert hast, z.B. "MeinWort"
Das kannst Du z.B. durch den Code für den Wert der CoboBox, z.B. ComboBox1.Value, ersetzen

Kopieren tust Du dann die sichtbaren Zellen, im Prinzip

Range("A1:X99").SpecialCells(xlCellTypeVisible).Copy

Statt "A1:X99" nimmst DU dann den Tabellenbereich, den Du filterst.
   \\\|///      Hoffe, geholfen zu haben.
   ( ô ô )      Grüße, André aus G in T  
 ooO-(_)-Ooo    (Excel 97-2016)
Antwortento top
#4
Hallo Piewie

hier Deine Datei, ergänzt mit Ausfüllzelle im Blatt "Ergebnisausgabe", Zelle K2, wo Du den gewünschten Kundennamen auswählst, für den die Tabelle erstellt werden soll.

.xlsm   Piewie Tabellenauszug .xlsm (Größe: 62 KB / Downloads: 4)

Du kannst jederzeit vor einer Tabellenerstellung die Reihenfolge der Spaltenüberschriften im Blatt "Ergebnisausgabe" beliebig anordnen. Sie müssen nur in der Kopiertabellenüberschrift buchstabengleich zu finden sein.

Grundlage ist ein ereignisgesteuertes Makro im Blattmodul von "Ergebnisausgabe" und basiert auf der Funktion "Erweiterter Filter". Das Makro ist praktisch ein Einzeiler.

Probier es aus. Gruss Raoul
Antwortento top
#5
@Klaus-Dieter: 
Weil ich die Autofilter-Variante (so wie ich sie kenne) als etwas "unübersichtlich" sehe. Allerdings gehe ich da immer vom manuellen Filtern aus. 
                       
Ich habe ein ähnliches Formular in Word gebaut. Allerdings werden hier keine Daten gefiltert und kopiert, sondern ein Userform ermöglicht die Auswahl des Kunden (und dessen Adresse), sowie die Eingabe mehrer Textmarken/Informationen. Damit fahre ich ganz gut und die Kollegen kommen klar damit. Daher wollte ich in dieser Liste etwas ähnliches bauen.

@schauan: Das werde ich gleich mal testen. Vielleicht komme ich damit ja hin. 

@Raoul: Das ist auch eine schöne Variante. Ich baue sie gleich mal in meine große Liste ein. Vielleicht reicht das hier schon. Danke dafür
Antwortento top


Gehe zu:


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