bezugnehmend zur Anfrage von gestern:
https://www.herber.de/forum/messages/1921041.html
Da hat mir Michael diese Formel geschrieben:
https://www.herber.de/forum/messages/1921185.html.
Nun wollte ich mit VBA diese Formel in den Bereich F3: F10 schreiben. Dazu habe ich den Rekorder angeworfen. Dies ist das Ergebnis:
Range("F3").Select
ActiveCell.FormulaR1C1 = _
"=IF(RC[-3]="""","""",IFERROR(INDEX(R3C1:R13C1,AGGREGATE(14,6,ROW(R1C2:R11C2)/(SEARCH(Tabelle1!RC[-3],R3C1:R13C1)^0),1)),""""))"
Selection.AutoFill Destination:=Range("F3:F19"), Type:=xlFillDefault
Dies Funktioniert eigentlich ganz gut. Mein Problem ist aber das die Spaltenangabe, der zu durchsuchenden Spalte, in diesem Fall Spalte a, variabel sein muss.
Dies ist dann immer die Aktive Spalte ( SPnr= ActiveCell.Column)). Welche ich in der Variable SPnr habe.
Aber egal was ich versuche es funktioniert einfach nicht. Wenn ich IFERROR(INDEX("R3" & SPnr benutze, bekomme ich gleich eine Fehlermeldung.
Wenn ich es mit
ActiveCell.FormulaLocal = "=WENN(C3="";"";WENNFEHLER(INDEX($A$3:$A$13;AGGREGAT(14;6;ZEILE($B$1:$B$11)/(SUCHEN(Tabelle1!C3;$A$3:$A$13)^0);1));""))"""
versuche bekomme ich schon ohne den Einsatz einer Variablen die Fehlermeldung " Anwendungsfehler "
Nun weis ich mir kein Rat mehr.
Vielleicht wäre dies sogar besser wenn man das ganze ohne Formel macht und dies gleich mit einem Makro löst. Aber auch das habe ich noch nicht geschafft.
Ich habe alles noch mal im Beispiel dargestellt. Kann sich dies mal jemand anschauen?
https://www.herber.de/bbs/user/157946.xlsb
Kann sich dies jemand von euch mal anschauen?
mfg thomas