2017-09-05 1 views
1

Ich versuche, die Funktion fomulaArray in VBA zu verwenden, und erhalte immer den oben genannten Fehler. Ich bin mir bewusst, dass 255 Zeichen die Grenze für das fomulaArray sind, aber es gibt mir nicht den Fehler, dass das Fomular außer Reichweite ist, ich nehme an, dass es einen anderen Fehler geben muss.FomulaArray verursacht Laufzeitfehler 1004 Anwendungsdefinierter oder objektdefinierter Fehler

Das Fomular funktioniert in seiner ursprünglichen Form, wenn ich es außerhalb von VBA in Excel verwende.

Worksheets("Last Week").Range("AJ6:AJ1500").FormulaArray = "=IF(AND(F6="""",I6=""Projects""),MIN(IF((O7:O31=O6)*(NOT(G7:G31=""Yes""))*(NOT(G7:G31=""Not OK""))*(NOT(G7:G31=""postponed""))*(NOT(G7:G31=""""))*(NOT(H7:H31=""delayed""))*(NOT(F7:F31=""Failure"")),AJ7:AJ31)),IF(F6="""","""",IF(AH6>0,14,IF(AE6>0,13,IF(AC6>0,12,IF(AB6>0,11,IF(AA6>0,10,IF(Z6>0,9,IF(V6>0,8,IF(U6>0,7,IF(Y6>0,6,IF(X6>0,5,IF(W6>0,4,IF(T6>0,3,IF(S6>0,2,IF(R6>0,1,0))))))))))))))))" 

Ich habe doppelte "" überall und ersetzt ";" mit ",". Ich bin jetzt ahnungslos, was Fehler 1004 verursacht.

Sobald ich die Ursache des Fehlers wissen würde, würde ich versuchen, die Formel in zwei Variablen als Workaround für FormelArrays Begrenzung zu teilen.

Antwort

2

diese regelmäßige Formel Versuchen, die aggregierte verwendet:

Worksheets("Last Week").Range("AJ6:AJ1500").Formula = "=IF(AND(F6="""",I6=""Projects""),AGGREGATE(15,6,AJ7:AJ31/((O7:O31=O6)*(NOT(G7:G31=""Yes""))*(NOT(G7:G31=""Not OK""))*(NOT(G7:G31=""postponed""))*(NOT(G7:G31=""""))*(NOT(H7:H31=""delayed""))*(NOT(F7:F31=""Failure""))),1),IF(F6="""","""",IF(AH6>0,14,IF(AE6>0,13,IF(AC6>0,12,IF(AB6>0,11,IF(AA6>0,10,IF(Z6>0,9,IF(V6>0,8,IF(U6>0,7,IF(Y6>0,6,IF(X6>0,5,IF(W6>0,4,IF(T6>0,3,IF(S6>0,2,IF(R6>0,1,0))))))))))))))))" 
+0

ich heute diese Option versucht habe und am Anfang es sah toll aus, aber am Ende hat es mir nicht den MIN-Wert des Arrays zeigt an die Spitze. Das Problem hier ist, dass ich verschiedene Gruppen habe und ich möchte den MIN-Wert in der Kopfzeile jedes grop (AJ6) sehen. Momentan sehe ich nur Werte in den Zeilen zwischen den Gruppenköpfen. – prestonp87

Verwandte Themen