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

VBA Alternative zum Sverweis?

VBA Alternative zum Sverweis?
02.03.2015 18:21:51
P-Quest
Hallo,
ich fasse per VBA Tabellenblätter aus verschiedenen Dateien zu einer Gesamtliste zusammen um diese Später per Pivot auswerten zu können.
Nun gibt es zu der Gesamtliste die Anforderung, eine weitere Information hinzuzufügen.
Dies Information liegt in einem sepearaten Tabellenblatt (gleiche Arbeitsmappe wie Gesamtliste). In einer Tabelle ohne VBA würde ich die Daten per SVerweis in die Gesamtliste eintragen.
Frage: Mache ich das in VBA auch (über Formula?) oder gibt es hier eine VBA spezifische Alternative?
Gruß
P-Quest:-)

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Alternative zum Sverweis?
02.03.2015 18:59:26
ChrisL
Hi Peter
Du kannst die Formeln auch in VBA verwenden.
WorksheetFunction.Vlookup(...)
, statt ; verwenden
cu
Chris

AW: VBA Alternative zum Sverweis?
02.03.2015 20:01:53
P-Quest
Hallo,
Danke erst mal für deine Antwort. Jetzt muss ich gleich noch eine Verständnissfrage hinterher schieben.
Der Sverweis in meiner Tabelle sieht so aus:
=WENN(SVERWEIS(B2;Produktliste!$A$6:$D$40;3;0)=0;"";SVERWEIS(B2;Produktliste!$A$6:$D$40;3;0))
Wenn ich diese Formel in VBA umsetze, ist es dann besser, die gesamte Formel im Stil
x=Worksheetfunktion.If(vlookup(......
zu schreiben oder bietet es sich dann eher an eine Schleife in der Art
if worksheetfunktion.vlookup(...) = 0 then
x=""
else
x=worksheetfunktion.vlookup(...)
zu basteln?
Es geht mir hier nicht speziell um die Syntax sondern um das Verständnis, welche Variante in VBA die bessere Lösung ist...falls eine davon überhaupt besser ist :-)
Gruß,
P-Quest:-)

Anzeige
AW: VBA Alternative zum Sverweis?
03.03.2015 17:04:34
ChrisL
Hi Peter
Besser oder schlechter ist oft Ansichtssache. Darum würde ich sagen, die deutlich häufiger verwendete Variante ist dein Beispiel 2. Aus meiner Sicht sind WorksheetFunction eine nützliche Ergänzung, aber kein Muss.
cu
Chris

AW: VBA Alternative zum Sverweis?
03.03.2015 17:49:17
Daniel
Hi
der SVerweis ist eine Zeitintensive Funktion.
dh du solltest ihn so selten wie möglich einsetzen.
wenn das Ergbnis 0 durch das Ergebnis "Leerstring" ersetzt werden soll, wäre dies die bessere Möglichkeit, weil du den SVerweis nicht wiederholen musst:
x = Worksheetfunction.VLookUp(...)
If x = 0 Then x = ""
x muss natürlich vom Typ Variant sein.
Gruß Daniel

Anzeige
AW: VBA Alternative zum Sverweis?
03.03.2015 18:14:15
P-Quest
Vielen Dank für die hilfreichen Informationen und auch für den zeitsparenden Tipp zur Schleifenkonstruktion.

Die Verwendung der WshFct.VLookUp ist ...
02.03.2015 22:40:41
Luc:-?
…ebenso wie die Verwendung von Evaluate("vlookup(…") xl-spezifisches VBA, Peter,
Letzteres sogar noch mehr, denn es fktioniert genauso wie in Xl, was man von Ersterem nicht immer und unbedingt behaupten kann. Auch die .Find-Methode ist letztlich xl-spezifisch, aber idR am schnellsten, wenn sie denn anwendbar ist, was nicht immer so ist.
Ansonsten bleibt nur noch die Schleife (zyklische Verarbeitung) über den fraglichen Bereich oder seine Kopie als zellbindungsfreies Datenfeld (Array bzw Dictionary), das aber erst erzeugt wdn müsste. Dafür ist das Ganze dann aber noch schneller. Es muss ja auch nur eine Spalte durchsucht und der RückgabeWert dann ggf mit .Offset bestimmt wdn. Da bietet sich bei direkter Verwendung der XlSpalte naturgemäß eine schnelle For Each-Schleife mit einem Range als LaufVariable an. Bei Datenfeldern käme ein Index für den RückgabeWert zum Einsatz.
Du siehst also, es führen viele, ggf unterschiedl schnelle Wege „nach Rom“… ;-)
Gruß, Luc :-?
Besser informiert mit …

Anzeige
AW: Die Verwendung der WshFct.VLookUp ist ...
03.03.2015 18:12:40
P-Quest
Vielen Dank für die hilfreichen Hintergrundinformationen.

225 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige