1

Ich habe in der folgenden Formel einen Typenkonfliktfehler zu haben. Numbering, Approval, PeakShare und werden alle als Bereiche gespeichert, app als Ganzzahl. Ich glaube, dass ich meinen Zitaten korrekt entgangen bin, indem ich versucht habe, den Wert von "app" einzubeziehen. Aber ich bekomme einen "Type Mismatch" -Fehler zurück. Ich habe auch versucht, eine nicht-variable Ganzzahl zu enthalten und einen "Object defined oder application defined error" zu erhalten. Ich habe einige Dinge über die Verwendung von indirekten und Genehmigung in Excel Formeln gelesen, aber habe nicht viel da draußen mit seiner Verwendung in VBA gefunden, ist dies das Problem?Object Defined oder Application Defined Error, Formelzeichenfolge

formulaUp = "=IF(" & Numbering.Address(True, False) & "<" & Approval.Address & ","""", " & PeakShare.Address & " * " & RampUp.Offset(0, -"" & app & "" + 1).Address(True, False) & ")" 
+0

die Zitate hier nicht benötigt werden 'RampUp.Offset (0, - "" & app & "" + 1)' just do 'RampUp.Offset (0, - 1 * app + 1) ' –

+0

Ich gebe immer noch den anwendungsdefinierten oder objektdefinierten Fehler zurück wie bei der Übergabe einer nichtvariablen Ganzzahl –

+0

Und der Code funktioniert wie beabsichtigt, wenn ich den' Offset (0, - 1 * app +1) 'portion @ScottCraner –

Antwort

1

Die Typenkonflikt kommt aus

RampUp.Offset(0, -"" & app & "" + 1) 

Das zweite Argument Sie Offset zu passieren versuchen nicht viel Sinn machen, und wirft, weil nach Operatorpräzedenz es (-"") & app & ("" + 1) ist, und keiner der eingeklammert Ausdrücke können berechnet werden.

Offenbar bedeuten Sie

RampUp.Offset(0, -app + 1) 
+0

Danke @GSerg, ich hatte das Gefühl, dass etwas mit meiner Syntax nicht stimmt, weshalb ich eine nicht-variable ganze Zahl durchgegeben habe. Ich gebe immer noch den objektdefinierten Fehler zurück, wie ich oben erwähnt habe, jede Idee, warum die Angabe "Offset (0, - 1 * app +1)" dies verursachen würde? –

Verwandte Themen