Hallo Marcel,
sorry, ich glaube das ist ein kleines Missverständnis. Ich
hatte dir 2 Antworten auf einemal geschrieben
Deine Antwort
hat sich wahrscheinlich mit meiner zeitlich überkreuzt.
Der letzte Code von dir funktioniert jedenfalls super.
schon klar, ich habe die Korrektur bemerkt und gesehen, daß der Code jetzt läuft.
Ich habe mich mal an den Code versucht, leider bekomme ich den
Rest mit der Multiplikation und Division nicht hin. Hättest du
vielleicht noch ein Tipp für mich?
Hmmm. Tipp ist schwer. 
Hast Du Dir mal mit dem Debugger angesehen, was der Code macht? Kennst Du den Debugger und kannst ihn verwenden? Wenn nicht, hast Du keine Chance, das wäre dann vorrangig.
Ich beschreibe erst mal kurz den Debugger. Wenn Du den kennst und verwendest, überspring den nächsten Abschnitt einfach.
In dem Editorfenster, in dem Du den Code bearbeiten kannst ist der linke, graue Rand breiter als sonst in Fenstern üblich. Klick dort in der ersten Zeile in der Befehle stehen, also nicht bei der Deklaration, auf diesen grauen Rand. Erwischst Du eine Zeile mit einem Befehl, wird auf dem Rand ein großer Punkt erscheinen. Das ist ein Stopp-Punkt. Startest Du nun Dein Programm wird es an dieser Stelle angehalten und Dir wird dieses Fenster gezeigt. Auf dem grauen Rand erscheint ein gelber Zeiger, der Programmzeiger. Er zeigt immer auf die Zeile, die als nächstes abgearbeitet werden soll. In der Zeile ist der Befehl, der als nächstes ausgeführt werden soll markiert. Zeigst Du in dieser Situation mit dem Mauszeiger auf eine Variable, wird die in einem ToolTipText deren Inhalt angezeigt. Mit der Taste F8 kannst Du den markierten Befehl ausführen, der Debugger springt zum nächsten Befehl, der ausgeführt werden soll. So kannst Du den Inhalt der Variablen während der Bearbeitung beobachten und genau verfolgen, was das Programm tut. Du kannst den gelben Zeiger auch mit der Maus verschieben und so bestimmte Programmteile ändern und neu ausführen lassen, ohne das Programm anzuhalten und neu zu starten.
Das Programm sucht zunächst die Zielvariable und merkt sich, wo die steht. Es sucht das Gleichheitszeichen und merkt sich dessen Position.
Es wird geprüft, ob die Zielvariable am Ende der Formel steht.
Falls die Variable nicht am Ende der Formel steht, wird der Teil links vom Gleichheitszeichen in die Variable ‚TL‘ (Teil Links) geschrieben. Der Teil nach dem Gleichheitszeichen einschließlich der Variablen wird in die Variable ‚TM‘ (Teil Mitte) übernommen. Der Teil nach der Zielvariablen kommt in die Variable ‚TR‘ (Teil Rechts). Im Moment wird dieser rechte Teil nur eingeklammert und vorzeichentichtig zwischen TR und das Gleichheitszeichen geschoben. Wenn hinter der Zielvariablen auch eine Multiplikation oder Division stehen darf, geht das nicht, das könnte falsch sein. Beispiel:
Y = 3*x*n + 4 … Daaus würde:
Y/(n+4)= 3*x
Das wäre falsch, denn richtig wäre:
Y-(4)/(n)=3*x
Die Klammern sind zwar in diesem Fall überflüssig, stören aber auch nicht. 
Wenn die Multiplikation erlaubt ist muss also zunächst geprüft werden, ob zunächst Plus und Minus zu verarbeiten sind, bevor Multiplikation und Division verarbeitet werden dürfen.
Weiter im aktuellen Programm, die Zielvariable steht nun am Ende der Gleichung.
Die Positionen werden neu bestimmt, die Gleichung wieder zerlegt. In den Teil links von Gleichheitszeichen, den Teil rechts vom Gleichheitszeichen und Die Zielvariable. Dann wird wieder der Teil rechts vom Gleichheitszeichen eingeklanmmert und vorzeichenrichtig zwischen den Anfang der Gleichung und das Gleichheitszeichen geschoben. Die Zielvariable belibt allein rechts vom Gleichheitszeichen. Wenn da auch ein ‚*‘ oder ‚/‘ oder ‚‘ stehen darf, ist auch das falsch. Es wüdre z.B. aus:
Y = 3*n + 4*v + 3*x … ->
Y/(3*n + 4*v +3) = x
Richtig wäre:
(Y - (3*n + 4*v))/3 = x
Es muss wieder der Teil vor dem Multiplikatoer rest verarbeitet werden, bevor der Multiplikator verarbeitet werden darf.
Je mehr Rechenoperationen erlaubt werden, um so weiter muss das Programm entscheiden, was zuerst verarbeitet werden muss. muss diese Rechenzeichen erst finden, identifizieren, Klammern berücksichtigen, wenn welche vorkommen …
Das wird ein Tage langes versuchen und testen, im debugger verfolgen, was tatsächlich passiert. Die Ausgangsformel muss immer wieder verändert werden, damit das Programm nicht nur in einem Fall richtig arbeitet.
Zum Testen empfiehlt sich, für die variablen leicht nachrechenbare Werte zu übergeben und Excel den Wert der Formel berechnen zu lassen. In VBA heißt die Funktion, mit der man Formeln berechmem lassen kann ‚Eval‘ und ist Bestandteil von Access und VBScript. Wenn man Verweise auf eins von Beiden setzt, kann man Eval in VBA verwenden.
Gruß Rainer