Excel 2016 - Matrix-Formel über VBA einfügen

Excelmania

Lieutenant
Registriert
Apr. 2010
Beiträge
794
Hallo.

Ich habe eine Excel-Arbeitsmappe. Auf Blatt 1 befindet sich eine Erfassung. Auf Blatt 2 zwei soll zu einer Kategorie der neuste Eintrag angezeigt werden, wenn die Kategorie aktiviert ist. Die Matrix-Formel durch manuelle Eingabe funktioniert.

Über VBA jedoch leider nicht.

Code:
Worksheets("Auswertung").Range("D6").FormulaArray = "=WENN(UND(C6=""x"";A6<>"""");WENN(MAX(WENN(INDIREKT(Optionen!$D$13)=A6;INDIREKT(Optionen!$D$12)))=0;"""";MAX(WENN(INDIREKT(Optionen!$D$13)=A6;INDIREKT(Optionen!$D$12))));"""")"

Meines Erachtens ist der Befehl korrekt eingegeben.
 
Versuch mal, was dabei raus kommt, wenn genau die Eingabe der Formel per Makro aufzeichnest.
 
Es ist schon laenger bei mir her, aber ich musste damals die Formeln im englischen Format einfuegen.
Ansonsten Frage ich mich: Wozu eine Formel, wenn du sowieso schon mit VBA arbeitest?
 
Ich würde das an deiner Stelle auch mal mit dem Makro-Rekorder aufnehmen und vergleichen. Bei mir macht er dann in VBA auch stets ein englisches Formelformat aus der Formel. Ansonsten stellt sich natürlich die Frage, warum das per VBA eingefügt werden muss. Kann der Nutzer die Formel überschreiben, dass sie wiederhergestellt werden muss oder weshalb?

Eigentlich ist sie auch noch nicht lang genug, aber bei langen Array-Formeln gibt es zusätzlich das Problem, dass diese ab 255 Zeichen nicht mehr "in einem Rutsch" per VBA in eine Zelle geschrieben werden können. Wenn man sehr lange Matrixformeln hat, muss man diese dann stückweise einfügen und dann bspw. über einen "replace"-Befehl Teile davon ersetzen. Aber wie gesagt, die 255 Zeichen hast du da eigentlich noch nicht, daher tippe ich drauf, dass es Englisch sein sollte und der Makro-Rekorder hilft.
 
Dem würde ich zustimmen - es gibt nicht umsonst das gewöhnliche .Formula und .FormulaLocal.
Gibt’s das da nicht?
CN8
 
Zurück
Oben