Hallo zusammen,
ich habe mir in VBA über Makro aufzeichnen eine Formel, welche ich manuell erstellt habe, kopiert, weil ich gerne das was ich manuell mache, per Makro tun möchte.
Das Makro ist relativ einfach, es tut einfach zu der Zelle P2 gehen und eine sehr lange Formel dort reinkopieren.
Wenn ich das Makro aber dann abspiele bekomme ich den Fehler 1004, finde aber nirgendwo genauere Informationen, was der Fehler ist.
Google hat mir hier leider auch nicht geholfen.
Könnte mir vorstellen, dass die Formel eventuell zu lang ist?
Aber warum geht Sie dann manuell in Excel?
Hier mal die Gegenüberstellung: VBA (aufgezeichnet) gegen manuelle Formel in Excel
"VBA"
Range("P2").Select
ActiveCell.FormulaR1C1 = _
"=IF(AND(RC[-2]=""M"",RC[5]=""WAHR""),(LEFT(RC[-10],RC[2])*1000000),IF(AND(RC[-2]=""B"",RC[5]=""WAHR""),(LEFT(RC[-10],RC[2])*1000000000),IF(RC[-2]=""B"",(LEFT(RC[-6],RC[2])*1000000000),IF(AND(RC[-2]=""K"",RC[5]=""WAHR""),(LEFT(RC[-10],RC[2])*1000),IF(RC[-2]=""K"",(LEFT(RC[-10],RC[2])*1000),IF(RC[-2]=""M"",(LEFT(RC[-6],RC[2])*1000000),IF(RC[-2]=""B"",(LEFT(RC[-6],RC[2" & _
"00000),IF(RC[-2]=""%"",(LEFT(RC[-6],RC[2])*1),IF(ISERROR(RC[-8]),RC[-10],IF(ISNUMBER(RC[-8]),RC[-6]))))))))))"
Range("P3").Select
"Excel Formel"
=WENN(UND(N2="M";U2="WAHR");(LINKS(F2;R2)*1000000);WENN(UND(N2="B";U2="WAHR");(LINKS(F2;R2)*1000000000);WENN(N2="B";(LINKS(J2;R2)*1000000000);WENN(UND(N2="K";U2="WAHR");(LINKS(F2;R2)*1000);WENN(N2="K";(LINKS(F2;R2)*1000);WENN(N2="M";(LINKS(J2;R2)*1000000);WENN(N2="B";(LINKS(J2;R2)*1000000000);WENN(N2="%";(LINKS(J2;R2)*1);WENN(ISTFEHLER(H2);F2;WENN(ISTZAHL(H2);J2))))))))))
Nun würde ich mich sehr freuen, wenn mir jemand erklären könnte, wo mein Fehler liegt.
Danke und Gute Nacht
|