Matrixformel via VBA runterkopieren
Jonathan
Hallo liebe Experten,
ich stehe mal wieder vor einem Problem.
In einer Tabelle stehen in der Spalte A Sachnummern. Diesen Sachnummern werden in den Spalten B-D unterschiedliche Werte zugewiesen.
Das ganze funktioniert auch wunderbar über folgende Matrixformel:
{=WENN(ZÄHLENWENN('S-Nummern'!$A:$A;$A4)>=SPALTE(A1);INDEX('S-Nummern'!$B$1:$B$100; KKLEINSTE(WENN('S-Nummern'!$A$1:$A$100=$A4;ZEILE('S-Nummern'!$A$1:$A$100));SPALTE(A1)));"") }
Diese Formel wird nun manuell bis zur letzten befüllten Zelle in Spalte A runterkopiert.
Wenn ich diese Formel in ein Makro schreibe und nach unten kopieren lasse, so schreibt er mir in jede Zelle in Spalte B (bis zum letzten Wert in Spalte A) die gleiche Formel, d.h. ohne jeweils die Zellbezüge anzupassen.
Was mache ich hierbei denn falsch?
Der Code in VBA lautet:
Range("B4:B" & Cells(Rows.Count, "A").End(xlUp).Row).FormulaArray = _
"=IF(COUNTIF(Picklist!C1,RC1)>=COLUMN(R[-3]C[-1]),INDEX(Picklist!R1C2:R100C2,SMALL(IF(Picklist!R1C1:R100C1=RC1,ROW(Picklist!R1C1:R100C1)),COLUMN(R[-3]C[-1]))),"""")"
Vielen Dank schon mal für eure Hilfe.
Gruß
Jonathan