Anzeige
Archiv - Navigation
500to504
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
500to504
500to504
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

SVERWEIS / VLOOKUP mit variabler Matrixangabe

SVERWEIS / VLOOKUP mit variabler Matrixangabe
18.10.2004 09:28:34
Richard
Hallo zusammen,
in einer Schleife lasse ich i-mal einen SVERWEIS mit Hilfe von VLOOKUP durchführen. Nun möchte ich in Abhängikeit von der Zeilenzahl der Matrix den Matrixbereich (hier: R2C1:R1000C3 ) steuern können. Jeder Versuch mit Variablen oder übergebenen Range-Variablen scheiterte bisher, die VBA-Hilfe ist diesbezüglich sehr dürftig und verwirrend.
For I = 0 To E
ActiveCell.Offset(0, 0).Formula = "=VLOOKUP(RC[-1],R2C1:R1000C3,2,FALSE)"
DATA$ = ActiveCell.Offset(0, 0)
ActiveCell.Offset(0, 0).Value = DATA$
Next I
Herzlichen Dank im vorhinein!
Richard

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

Betreff
Datum
Anwender
Anzeige
AW: SVERWEIS / VLOOKUP mit variabler Matrixangabe
fritzm
Hallo Richard,
ganz habe ich zwar nicht verstanden, was du willst.
Aber wenn ich richtig liege, dass du die Startzeile der Matrix in Abhängigkeit vom Zeilenzähler I haben willst, dann so:
ActiveCell.formula = "=VLOOKUP(RC[-1],R" & I & "C1:R1000C3,2,FALSE)"
Noch ein Tipp: Der Ausdruck "Offset(0,0)" ist sinnlos, da weder ein Zeilen- noch ein Spaltenoffset benötigt wird. Also einfach weglassen. Ich könnte mir vorstellen, dass du auch hier, ausgehend von der aktiven Zelle, Zeilenweise nach unten willst, also:
ActiveCell.Offset(I, 0).formula = "=VLOOKUP(RC[-1],R" & i & "C1:R1000C3,2,FALSE)"
Aber bevor ich weiter rate, beschreibe mal dein Problem. In welche Zelle soll welche Formel mit welcher Matrix?
Fritz
Anzeige
AW: SVERWEIS / VLOOKUP mit variabler Matrixangabe
18.10.2004 10:54:17
Richard
Hallo Fritz,
vielen Dank, ich glaube, das Problem hast Du mir schon gelöst:
R" & I & "C1:R1000C3
Also zur Erklärung:
Tabelle1 enthält Datensätze mit Angaben wie:
Kundennummer : Kundenname : Ort: etc...
Tabelle2 soll enthalten: Kundennummer und Kundenname etc. sowie Artikel und Preis (z.Bsp.)
Per VLOOKUP soll in der Matrix von Tabelle1 nach dem Kriterium Kundennummer gesucht werden und in mehreren Spalten von Tabelle2 ausgegeben werden. Da aber die Größe von Tabelle 1 variabel ist (es kommen neue Kunden hinzu, die Zeilenanzahl wird größer) muß sich die Matrix von VLOOKUP automatisch anpassen. Daher will ich nicht die Anfangszeile anpassen (die ist immer A2, denn A1 sind die Spaltenüberschriften) sondern die letzte Zeile (hier: Zeile 1000 (R1000C3). Somit müßte die Formel lauten.
ActiveCell.formula = "=VLOOKUP(RC[-1],R2C1:R" & I & "C3,2,FALSE)"
Den Offset(0,0) verwende ich, um hintereinander Spalte1: Spalte2 :Spalte usw. füllen zu können (dementsprechend passe ich dann natürlich das Kriterium sowie den Spaltenverweis an.
Ich werde es gleich mal ausprobieren.
HERZLICHEN DANK !!!
Richard
Anzeige
AW: SVERWEIS / VLOOKUP mit variabler Matrixangabe
18.10.2004 10:45:17
Rolf
Hallo Richard,
versuch's mal mit folgendem Code

Sub daten_aus_definiertemBereich()
Dim suchbereich As Range
Dim listbereich As Range
Dim i As Long, n As Long
Set suchbereich = Range("A1:B100")
Set listbereich = ActiveCell
n = suchbereich.Rows.Count
For i = 1 To n
listbereich.Value = Application.VLookup(listbereich.Offset(0, -1), suchbereich, 2, False)
Set listbereich = listbereich.Offset(1, 0)
Next i
End Sub

Freundl.Grüße
Rolf
AW: SVERWEIS / VLOOKUP mit variabler Matrixangabe
18.10.2004 10:55:45
Richard
Hallo Rolf,
auch das werde ich gleich mal ausprobieren!
Danke und Gruß
Richard

309 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige