Clever-Excel-Forum

Normale Version: Excel Matrixformel durch VBA erstellen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Zusammen

ich möchte per VBA Befehl eine Matrixformel in eine Zelle schreiben lassen.
Ich habe die Formel erst in Excel aufgebaut und getestet, hier funktioniert sie einwandfrei.

Nun möchte ich sie in VBA Sprache übersetzen und hier sitzt das Problem. 
Ich weiss ich muss für eine Matrixformel in VBA mit FormularArray arbeiten und ausserdem Englische Formelbezeichnungen sowei "," statt ";" verwenden. 
Habe ich auch so umgesetzt, allerdings bekomme ich mit meiner bisherigen "Übersetzung" ich immer den Fehler "Laufzeitfehler '9': Index ausserhalb des gültigen Bereichs"

Formel in Excel
=INDEX(Projekte[[Projektbezeichnung]:[Projektnummer]];AGGREGAT(15;6;(ZEILE([Projektbezeichnung])-1)/(--(SUCHEN(Overview!$O$12;[Projektbezeichnung])>0));ZEILE()-1);1)

Formel in VBA
Sheets("Projects1000").Cells(4, 4).FormulaArray = "=INDEX(Projekte][[Projektbezeichnung]:[Projektnummer]],AGGREGATE(15,6,(ROW([Projektbezeichnung])-1)/(--(SEARCH(Overview!$O$12,[Projektbezeichnung])>0)),ROW()-1),1)"

Ich vermute mal es liegt an einer verkehrten Schreibweise, eventuell mit den eckigen Klammern der Bereichsnamen?


Es wäre super wenn jemand die Lösung weiss
Hallo d...,

Ein Fehler ist die schliessende eckige Klammer hinter "Projekte".
Hallo Ego

danke für deine Antwort. 

Stimmt die Klammer gehörte da nicht hin - leider habe ich noch immer die gleiche Fehlermeldung  Undecided
Verwende ein Array in VBA statt Matrix-Formel.

In VBA kann man auch kalkulieren.
Hi,

warum überhaupt FormulaArray? M.E. reicht da Formula. Außerdem kann niemand ohne Tabellenmuster feststellen, warum Du außerhalb des Bereichs landest. Ich tippe mal, dass die Suchfunktion hier falsche Ergebnisse liefert.
Hallo d...,
Zitat:"Laufzeitfehler '9': Index ausserhalb des gültigen Bereichs"

bedeutet: Das Arbeitsblatt "Projects1000" ist nicht vorhanden. Blush
Hallo Helmut

ohje.. ich war so fixiert auf die korrekten Klammern und Formelübersetzungen, dass ich dieses Detail nicht bemerkt habe.
Es hat tatsächlich ein Leerzeichen im Sheetname gefehlt...  :33: :33: 


Vielen Dank für eure Hilfe !