Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1128to1132
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

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

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
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
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

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige