Herbers Excel-Forum - das Archiv
sammeln...

|
Betrifft: sammeln...
von: tobi
Geschrieben am: 23.09.2003 14:09:43
Hallo zusammen,
die letzten 2 Tage hab ich in MS-Query rumgewurschtelt, das Ergebnis war aber nicht sehr zufriedenstellend. Vermutlich gehts nur mit VBA und da kenn ich mich halt (noch) ziemlich wenig aus.
Hier mein Problem:
Ich möchte alle Zeilen (aus mehreren Listen in versch. Worksheets), die z.B.in Spalte D mit einem anzugebenden Kürzel gekennzeichnet sind, in ein anderes Tabellenblatt auslesen.
Beispielhaft:
In Tabelle1 bis Tabelle10 meiner Arbeitsmappe ist jeweils eine Liste. Die Listen haben die Spalten A,B,C und D (eigentlich noch mehr, aber müsst ja egal sein). In Spalte A sind die ganzen Seriennummern, in B die Beschreibung, in C der Preis und in D die Bezeichnung (Kürzel).
Nun sollen diejenigen Zeilen (aus allen Listen) mit der gleichen Bezeichnung (Kürzel z.B.'Wid') in Tabelle11 aufgelistet werden (davon aber nur die Seriennummer und der Preis). Zeilen mit einer anderen Bezeichnung z.B. 'Hung' in Tabelle12 und so weiter.
Vielleicht kann mir ja hier jemand helfen. Vielen Dank schonmal im Voraus
und viele Grüsse
tobi

 |
Betrifft: AW: sammeln...
von: udo
Geschrieben am: 24.09.2003 05:11:23
Hi Tobi,
hab dir mal einen Ausschnitt aus meiner Tabelle beigefügt, das du halt noch deinen Blättern anpassen musst.
Ich beziehe dabei die speziellen daten aus dem Baltt das " Teile " heisst.
Du musst das Blatt, welches gerade dein Bezugsblatt ist, mit einem Autofilter in den entsprechenden Spalten versehen, dann durch das Makro den Autofilter im entsprechenden Blatt auslösen mit dem entspr. Kriterium, und das gefundene dann übertragen in deine Zieltab.
With Sheets("Teile") 'Bezugstabelle wählen
.Range("E1").AutoFilter Field:=21, Criteria1:="ein" 'Autofilter(21) filtern - Kriterium = 1
.Range("B19:G999").Copy Destination:=Sheets("VarVerglMan").Range("B19") 'von Bezg nach Ziel übernehmen
.Range("E1").AutoFilter Field:=21 'Autofilter wieder auf "Alles" einstellen
End With
um den Wechsel ins andere Blatt visuell zu verhindern fügst du davor und danach noch:
Application.ScreenUpdating = False
...
...
...
usw
...
...
Application.ScreenUpdating = True
Viel Erfolg
Gruß udo
PS. Um aus verschiedenen Blättern Daten zu entnehmen, solltest du das obige Makro entsprechend untereinander kopieren, eben soviel wie du entnehmen willst ( Vorgänge )
und dann die entsprechenden Entnahmebereiche, und Ablagebereiche ( Zahlenwerte des Makros ) noch anpassen, ....
Betrifft: AW: sammeln...
von: tobi
Geschrieben am: 24.09.2003 08:35:11
Hallo Udo,
vielen Dank erstmal, ich werds heut mal probieren - dauert wahrscheinlich;-)
Gruss tobi