ich habe eine etwas komplexere Wenn-Oder Formel erstellt, welche ich über VBA in eine Zelle einfügen möchte.
Formel in E2:
=WENN(ODER(LINKS(D2;2)="M1";LINKS(D2;2)="M2";LINKS(D2;2)="M3";LINKS(D2;2)="M4";LINKS(D2;2)="M5"); LINKS(D2;1);WENN(LINKS(D2;2)="NM";LINKS(D2;2);WENN(LINKS(D2;2)="ZE";LINKS(D2;4);WENN(LINKS(D2;1) ="N"; LINKS(D2;1);LINKS(D2;2)))))
Je nach Vorgabe im Feld D2 sollen unterschiedlich viele Zeichen ins Feld E2 zurückgegeben werden.
Die Formel funktioniert beim manuellen einfügen problemlos.
Leider schaffe ich es nicht, die o.g. Formel über ein Makro in das Feld E2 einzufügen. (Möglicherweise ist die Formel zu lang.)
Bisher hatte ich folgende Ansätze:
Formel manuell in die Tabelle eingefügt, Makroaufzeichnung gestartet, Zelle markiert, Cursor ins Formelfenster gesetzt, mit Return bestätigt. Zum testen das aufgezeichnete Makro gestartet. - Fehlermeldung: Laufzeitfehler 1004 - Anwendungs- oder objektdefinierter Fehler
Mein zweiter Ansatz war, die Formel als Text einzufügen und diesen per VBA in eine Formel umzuwandeln.
Dazu habe ich vorher die Formel wie folgt verändert:
=WENN(ODER(LINKS(D2;2)=""M1"";LINKS(D2;2)=""M2"";LINKS(D2;2)=""M3"";LINKS(D2;2)=""M4"";LINKS(D2;2) =""M5"");LINKS(D2;1);WENN(LINKS(D2;2)=""NM"";LINKS(D2;2);WENN(LINKS(D2;2)=""ZE"";LINKS(D2;4); WENN(LINKS(D2;1)=""N"";LINKS(D2;1);LINKS(D2;2)))))
Leider habe ich bei keiner Methode der Umwandlung Erfolg gehabt.
Versuchte Methoden:
Selection.NumberFormat = "General"
Selection.Replace What:="=", Replacement:="=", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False
Selection.Value = Selection.Value
Auch mit "indirekt" kam ich nicht weiter.
Nun bin ich mit meinem Latein am Ende. - Kann jemand von euch bitte testen, ob es für mein Problem eine Lösung gibt?
1000nd Dank im Voraus.
Marco