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

Forumthread: VBA vlookup Matrix absolut

VBA vlookup Matrix absolut
Bernd
Guten Tag allerseits,
mir stellt sich gerade folgendes Problem, das meine Möglichkeiten leider übersteigt:
Per VBA sollen horizontal in B121:AB121 SVerweise/vlookups per VBA berechnet werden. Das Suchkriterium steht jeweils in B120:AB120, die zu fixierende (!) Matrix in A16:AB116, der Spaltenindex ist dynamisch jeweils Spalte B:AB und wird hier über "LColZiel" festgelegt.
Folgender Code hat das Problem, dass die Matrix um eine Spalte nach rechts verschoben ist:
Tabelle1.Cells(121, LColZiel).FormulaR1C1 = "=VLOOKUP(R[-1]C,R16C1:R116C65," & LColZiel & ",TRUE)"
Kann mir jemand helfen, wie ich die Bezüge richtig schreiben kann?
Viele Grüße
Bernd B.
Anzeige

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

Betreff
Benutzer
Anzeige
AW: VBA vlookup Matrix absolut
17.08.2009 12:33:09
Wolli
Hallo Bernd,
Deine Formel müsste so lauten:
   Tabelle1.Cells(121, LColZiel).FormulaR1C1 = "=VLOOKUP(R[-1]C,R16C1:R116C2,2,TRUE)" 
Meines Erachtens brauchst Du aber LColZiel gar nicht. Try this:
    Tabelle1.Range(Cells(121, 2), Cells(121, 28)).FormulaR1C1 = _
"=VLOOKUP(R[-1]C,R16C1:R116C2,2,TRUE)"
Gruß, Wolli
Anzeige
Sorry!!
17.08.2009 12:37:46
Wolli
Falsch gelesen. Kommt gleich nochmal. /W.
So.
17.08.2009 12:48:22
Wolli

Range("B121:AB121").FormulaR1C1 = "=VLOOKUP(R[-1]C,R16C1:R116C28,COLUMN(),FALSE)"
oder wenn Du die andere Schreibweise bevorzugst
Range(Cells(121, 2), Cells(121, 28)).FormulaR1C1 = _
"=VLOOKUP(R[-1]C,R16C1:R116C28,COLUMN(),FALSE)"
Auch hier kommst Du ohne LColZiel aus, denn mit COLUMN() kannst Du auf die aktuelle Spalte verweisen und die Formel in einem Rutsch komplett eintragen.
Hoffe, das passt jetzt :-)
Gruß, Wolli
Anzeige
AW: VBA vlookup Matrix absolut
17.08.2009 12:42:37
BoskoBiati
Hallo Bernd,
wenn lColZiel bei 1 beginnt ist es logisch, dass die Matrix verschoben ist. Probier mal:
Tabelle1.Cells(121, LColZiel).FormulaR1C1 = "=VLOOKUP(R[-1]C,R16C1:R116C64," & LColZiel & ", _
TRUE)"
Gruß
Bosko
gelöst: VBA vlookup Matrix absolut
17.08.2009 13:05:20
Bernd
Danke Wolli, danke Bosko. Genau das ist es, was ich erreichen wollte...wieder was gelernt.
Ich habe beide Lösungen getestet und beide funktionieren tadellos. Werde nun in größerem Kontext umsetzen.
Beste Grüße
Bernd
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

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