vlookup auf eine liste mit autogefilterten daten

07/08/2008 - 15:29 von kai | Report spam
Hallo,

Ich habe eine Tabelle mit ca. 135 Zeilen. Diese Zeilen sind autogefiltert,
d.h. sie sind sichtbar. Nicht sichtbare Zeilen wàren insgesamt ca. 300.

Weil die Datei insgesamt sehr gross ist bzw. noch viel grösser wird, muss
arbeitsspeichereffizient gearbeitet werden. Zur Diskussion stehen meiner
Meinung nach zwei Varianten:

Entweder erstelle ich mittels einer For-Schlaufe ein Array mit den
sichtbaren Daten aus dem Autofilter (die 135 Zeilen) oder ich benutze den
Autofilter mit Vlookup. Vom Gefühl her wird VLookup besser ein.

Gut, ich hoffe, es ist so weit klar?

Ich habe mit der folgenden Zeile versucht, für die Zelle B2 in Tabelle 2 die
entsprechende Vlookup-Daten ausfindig zu machen:

with sheets("tabelle2")
.Range("B2").Value = tabelle2.Application.WorksheetFunction.VLookup(Cells(1,
2), tabelle1.Range("A1", "C300", 3, 0)).SpecialCells(xlCellTypeVisible)
end with

dies ist natürlich nur ein codeshnippet, so dass andere Inhalte für die
with-schlaufe nicht wiedergegeben sind.

Was mach ich falsch? Wie könnte ich das besser lösen?

danke und gruss,

Kai
 

Lesen sie die antworten

#1 Alexander Wolff
07/08/2008 - 16:55 | Warnen spam
In VLookup (SVERWEIS) und Match (VERGLEICH) kannst Du sowohl den Suchbegriff
als auch den Suchbereich mit + oder & (abhàngig von den zugrundeliegenden
Datentypen) verknüpfen: Siehe etwa hier www.xxcl.de/0042.htm (Achtung:
relativ weit von Deiner Anwendung entfernt - notfalls noch mal fragen).

Das hàtte den Vorteil, wenn Du die Filterbedingung dort (immer in beide
Such-, also -begriff wie auch -bereich) hineinbringst, dass Du unabhàngig
von gesetztem oder nicht gesetztem Autofilter bist.
Moin+Gruss Alexander - MVP for MS Excel - www.xxcl.de - mso2000sp3 --7-2

Ähnliche fragen