Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

vlookup geht nicht

Forumthread: vlookup geht nicht

vlookup geht nicht
Joachim
Hallo,
ich steh irgendwie aufm Schlauch:
ich versuch, vlookup mittels einer Schleife in die Zellen R3 bis R20000 zu schreiben.
Leider bricht es mit der Fehlermeldung Die VLookup-Eigenschaft des WorksheetFunction-Objektes kann nicht zugeordnet werden.
Suchriterium steht auf dem aktuellen Blatt Spalte C, Suchbereich auf dem Blatt Lieg Zellen I3 bis X7000; Suchspalte 7.
Hier der Code:
For i = 3 to 20000
Cells(18, i) = WorksheetFunction.VLookup(Cells(3, i), Worksheets("Lieg").Range("I3:X7000"), 7, False)
Next i
Am leibsten wäre es, wenn nicht die Formel eingetragen würde, sondern gleich das Ergebnis der Suche (quasi wie Inhalte einfügen-Werte).
Gruss
Joachim
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
Cells(3, i),
21.01.2010 13:56:37
Rudi
Hallo,
also mein XL2003 hat nur 256 Spalten, nicht 20000.
mach mal Cells(i,18) und Cells(i, 3) draus.
Besser noch:
  With Range("R3:R20000")
.FormulaR1C1 = "=vlookup(RC[-15],R3C9:R7000C24,7,0)"
.Value = .Value
End With

Gruß
Rudi
Anzeige
AW: Cells(3, i),
21.01.2010 14:14:12
Joachim
Hallo Rudi,
ja, das verwechsle ich immer mal wieder, dass bei Cells Spalten und Zeilen umgekehrt sind wie bei range.
Nun läuft sowohl meine Version als auch deine mit with. Allerdings stehe ich mit with aufm Kriegsfuss, soll heissen, da kenn ich mich nicht so gut aus.
Ein noch bestehendes Problem (bei beiden Varianten):
Viele Werte, die nun kommen, fangen mit vorangestellten Nullen an z.B. 0397847. Daraus wird nun 397847. Ich brauch aber die Null!
Gruss
Joachim
Anzeige
AW: Cells(3, i),
21.01.2010 15:15:18
Rudi
Hallo,
dann so
Sub tt()
With Range("R3:R20000")
.FormulaR1C1 = "=vlookup(RC[-15],R3C9:R7000C24,7,0)"
.Copy
.PasteSpecial xlPasteValues
End With
Application.CutCopyMode = False
End Sub

Gruß
Rudi
@ Rudi - noch was offen
21.01.2010 14:38:41
Joachim
Hallo Rudi,
wie schon vorhin gepostet, "verschluckt" das Makro nun die führenden Nullen.
Schreibe ich aber direkt in die Tabelle den sverweis, bringt dieser mir die Nullen mit.
Nur das Makro nicht.
ist aber wichtig!
Gruss
Joachim
Anzeige
AW: vlookup geht nicht
21.01.2010 14:20:37
Tino
Hallo,
dies könnte so funktionieren.
Dim meAr, A&, tmpAr
Dim rngSuchBereich As Range
Set rngSuchBereich = Worksheets("Lieg").Range("I3:X7000")
meAr = Range("C3:C20000").Value
tmpAr = meAr
With Application.WorksheetFunction
On Error Resume Next
For A = 1 To UBound(meAr)
tmpAr(A, 1) = ""
tmpAr(A, 1) = .VLookup(meAr(A, 1), rngSuchBereich, 7, False)
Next A
End With
Range("R3").Resize(UBound(meAr)) = tmpAr

Wenn Du die Daten in der Tabelle Lieg nach der Spalte i Sortieren kannst,
gehts mit diesem Code etwas schneller.
Dim meAr, A&, tmpAr
Dim rngSuchBereich As Range
Set rngSuchBereich = Worksheets("Lieg").Range("I3:X7000")
meAr = Range("C3:C20000").Value
tmpAr = meAr
With Application.WorksheetFunction
On Error Resume Next
For A = 1 To UBound(meAr)
tmpAr(A, 1) = ""
If .VLookup(meAr(A, 1), rngSuchBereich, 1, True) = meAr(A, 1) Then
tmpAr(A, 1) = .VLookup(meAr(A, 1), rngSuchBereich, 7, True)
End If
Next A
End With
Range("R3").Resize(UBound(meAr)) = tmpAr
Gruß Tino
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige