Das Schreiben in Range.FormulaArray gibt mir ein #NAME! Error

Hier ist nichts Besonderes, obwohl ich die Formel in zwei Teile aufteilen muss, da sie länger als 255 Zeichen ist (Quellen:http://www.dicks-blog.com/archives/2005/01/10/entering-long-array-formulas-in-vba/ http://support.microsoft.com/kb/213181).

    f1 = "=SI(1=1,SOMME(SI(mySheet!$R:$R = ""something"",SI(mySheet!$AQ:$AQ = AM$1, NBCAR(Incidents!$AP:$AP)-NBCAR(SUBSTITUE(mySheet!$AP:$AP,$B2,"""")))))/NBCAR($B2)-X_X_X())"
    f2 = "SOMME(SI(mySheet!$R:$R = """",SI(mySheet!$AQ:$AQ = AM$1, SI(mySheet!$AM:$AM = $A2,SI(DROITE(mySheet!$AP:$AP,6) = $B2,1))))),"""""
    .Range("AM2").FormulaArray = f1
    .Range("AM2").Replace "X_X_X()", f2

Die Formeln sind auf Französisch, was eigentlich keine Rolle spielen sollte. Die Formel wird in der Zelle AM2 korrekt zurückgegeben. Hier ist das Ergebnis:

={SOMME(SI(1=1;SI(mySheet!$R:$R = "something";SI(mySheet!$AQ:$AQ = AM$1; NBCAR(mySheet!$AP:$AP)-NBCAR(SUBSTITUE(mySheet!$AP:$AP;$B2;"")))))/NBCAR($B2)-SOMME(SI(mySheet!$R:$R = "something";SI(mySheet!$AQ:$AQ = AM$1; SI(mySheet!$AM:$AM = $A2;SI(DROITE(mySheet!$AP:$AP;6) = $B2;1)))));"")}

Ich bekomme jedoch ein #NAME! Error. Wenn ich mir das Debuggen von Formeln anschaue, kommt der Fehler von meiner ersten Funktion, die Excel nicht interpretieren kannSI() (das ist die Französisch fürIF()). Ich habe versucht, das komplett zu entfernenIF() Klausel, aber dann kann Excel die erste Funktion, die jetzt ist, nicht interpretierenSOMME() (SUM()).

Wenn ich einfach in die Bearbeitungsleiste klicke und STRG + Umschalt + Eingabetaste drücke (ohne etwas zu ändern), wird der richtige Wert zurückgegeben.

Warum gibt mir Excel nicht die richtige Nummer, nachdem VBA die Array-Formel festgelegt hat? Warum funktioniert es, wenn ich nurerneut einreichen die Formel in Excel? Und warum hat es immer Probleme mit der ersten Funktion? Ich denke, es gibt eine andere Art von Einschränkung, die mir nicht bewusst ist.

Ich habe beim Surfen im Internet ein ähnliches Problem festgestellt, aber keine Lösung gefunden.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage