Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1020to1024
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Wenn-Oder Formel über VBA funktioniert nicht

Wenn-Oder Formel über VBA funktioniert nicht
06.11.2008 14:11:01
sharky1000
Hallo,
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

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wenn-Oder Formel über VBA funktioniert nicht
06.11.2008 14:18:22
Matthias
Hallo
Sub eintragen()

Range("E2").FormulaLocal = "=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)))))"


End Sub
Gruß matthias

AW: Wenn-Oder Formel über VBA funktioniert nicht
06.11.2008 14:36:00
sharky1000
Super Matthias,
danke für die schnelle Antwort.
Nur, wie wandle ich den Text in eine Formel um?
Alle bisherigen Versuche, s.o. schlugen fehl.
Kannst Du testen, mit welchem Code ich den Text ohne Fehlermeldung in eine Formel umwandeln kann?
Danke im Voraus ;-)
Anzeige
AW: Wenn-Oder Formel über VBA funktioniert nicht
06.11.2008 14:52:00
Matthias
Hallo
Na das habe ich Dir doch in meinem Beitrag gezeigt !
Ich habe mit FormulaLocal und Beate mit Formula gearbeitet.
wenn Du dies als Text vorliegen hast:

=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)))))


schreibst Du Range("E2").FormulaLocal=" - jetzt die Formel als Text - am Ende nochmal ein ".
Gruß Matthias

Anzeige
AW: Wenn-Oder Formel über VBA funktioniert nicht
06.11.2008 15:02:00
sharky1000
Super Matthias,
sorry, war mein Fehler, ich habe übersehen dass ich in einer, versehentlich nicht auskommentierten Folgezeile meines vba-Codes, die Formel wieder in Text umwandle.
Danke nochmals.
Marco
AW: Wenn-Oder Formel über VBA funktioniert nicht
06.11.2008 14:24:56
Beate
Hallo Marco,
Sub Makro2()
    Range("E2").Formula = _
        "=IF(OR(LEFT(D2,2)=""M1"",LEFT(D2,2)=""M2"",LEFT(D2,2)=""M3"",LEFT(D2,2)=""M4"",LEFT(D2,2)=""M5""), LEFT(D2,1),IF(LEFT(D2,2)=""NM"",LEFT(D2,2),IF(LEFT(D2,2)=""ZE"",LEFT(D2,4),IF(LEFT(D2,1)=""N"", LEFT(D2,1),LEFT(D2,2)))))"
End Sub


Gruß,
Beate
Anzeige
AW: Wenn-Oder Formel über VBA funktioniert nicht
06.11.2008 14:45:27
sharky1000
Hallo Beate,
super!
Genau diese Lösung habe ich gesucht :-)
1000nd Dank nochmals auch an Matthias für die schnelle Antwort und Lösungsstellung :-)

343 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige