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

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.

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

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige