Moin zusammen,
ich habe folgendes problem:
Ich habe ein Tabellenblatt in den in mehreren Tausen zellen eine Matrixformel steht. Dies macht das Arbeiten mit den Excel Blatt extrem mühsehlig, da das speichern oder das Verändern eines Wertes bis zu 20 min dauern kann.
Die automatische Formelberechnung kann ich nicht abschalten, da ich noch "normale" Formeln habe die sich ständig aktuallisieren müssen.
Mein gedanke war nun der folgende:
Ich möchte die Matrixformeln in VBA berechnen lassen und nur den Wert in die Zelle schreiben. So kann ich die Werte immer dann aktuallisieren, wenn dies notwendig ist. (Meist nur 1mal alle 1-2 Monate)
In exel geschrieben sieht die 1 Formel wie folgt aus:
{=WENN(ISTFEHLER(INDEX(OR3pcdatei.imp!$L:$L;VERGLEICH(H18&MAX(WENN(OR3pcdatei.imp!$T:$T=H18;OR3pcdatei.imp!$K:$K));OR3pcdatei.imp!$T:$T&OR3pcdatei.imp!$K:$K;0)));0;INDEX(OR3pcdatei.imp!$L:$L;VERGLEICH(H18&MAX(WENN(OR3pcdatei.imp!$T:$T=H18;OR3pcdatei.imp!$K:$K));OR3pcdatei.imp!$T:$T&OR3pcdatei.imp!$K:$K;0)))}
Diese ist in BA18 geschrieben und bezieht sich auf H18 als vergleichswert.
Das ganze geht von BA18:BA1000 und H18:H1000
2te Formel
{=WENN(H18="";"";MAX(WENN(OR3pcdatei.imp!$T:$T=H18;OR3pcdatei.imp!$K:$K)))}
gleicher bereich wie oben
3te Formel
{=WENN(ISTFEHLER(INDEX(OR3pcdatei.imp!$R:$R;VERGLEICH(H18&MAX(WENN(OR3pcdatei.imp!$T:$T=H18;OR3pcdatei.imp!$K:$K));OR3pcdatei.imp!$T:$T&OR3pcdatei.imp!$K:$K;0)));"";INDEX(OR3pcdatei.imp!$R:$R;VERGLEICH(H18&MAX(WENN(OR3pcdatei.imp!$T:$T=H18;OR3pcdatei.imp!$K:$K));OR3pcdatei.imp!$T:$T&OR3pcdatei.imp!$K:$K;0)))}
wieder gleicher bereich
gibt es eine möglichkeit dies in VBA zu schreiben ??
Gruß
Tomey
|