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

Sverweis durch Vlookup ersetzen und in Schleife se

Sverweis durch Vlookup ersetzen und in Schleife se
06.08.2017 07:43:51
Thorsten
Hallo zusammen,
ich nutze aktuell ein VBA Script zur Erstellung eines Reportings. Dabei muss ich die Daten einer Tabelle mittels SVerweis auf Basis einer zweiten Tabelle vervollständigen. Leider ist die Variante mit dem SVverweis nicht sehr performant.
Ich habe schon VLookUp als Alternative gesehen. Wie kann ich nun SVerweis durch VLookUp ersetzen? Ich muss dabei aber von Zeile 2 diese Formel bis in letzte gefüllte Zeile mit Hilfe einer Schleife schreiben. Im Optimum sollte der Wert und nicht die Formel in die Zelle geschrieben werden.
lastLine = 2
Do While (Worksheets("Rohdaten").Cells(lastLine, 1) "")
Range("AA" & lastLine).FormulaLocal = "=SVERWEIS(D" & lastLine & ";Kunden!$A$1:$B$100000;2;Falsch)"
lastLine = lastLine + 1
Loop

Ich freue mich auf eine Lösung und vielen Dank vorab.
Gruß Thorsten

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Sverweis durch Vlookup ersetzen und in Schleife se
06.08.2017 07:57:52
ChrisL
Hi Thorsten
VlookUp ist die englische Schreibweise von Sverweis und damit identisch.
.FormulaLocal = "=SVERWEIS(D" & lastLine & ";Kunden!$A$1:$B$100000;2;Falsch)"
.Formula = "=VLOOKUP(D" & lastLine & ",Kunden!$A$1:$B$100000,2,False)"
Vorteil Formula: Es funktioniert Sprachunabhängig
Eine Variante ohne Schleife:
lastLine = Worksheets("Rohdaten").Cells(Rows.Count, 27).End(xlUp).Row
Worksheets("Rohdaten").Range("AA1:AA" & LastLine).Formula = _
.Formula = "=VLOOKUP(D1,Kunden!$A$1:$B$100000,2,False)"
cu
Chris
Anzeige
AW: Sverweis durch Vlookup ersetzen und in Schleife se
06.08.2017 07:58:36
ChrisL
Korrektur
lastLine = Worksheets("Rohdaten").Cells(Rows.Count, 27).End(xlUp).Row
Worksheets("Rohdaten").Range("AA1:AA" & LastLine).Formula = _
"=VLOOKUP(D1,Kunden!$A$1:$B$100000,2,False)"

Zusatz:
06.08.2017 08:19:11
RPP63
Wenn "Dein" langsamer SVerweis() kein #NA ausgibt, solltest Du "Kunden" aufsteigend sortieren und die SVerweis()-Variante mit WAHR nutzen.
Diese ist erheblich schneller!
Anzeige

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige