Formelberechnug per Macro und #Name?
17.01.2006 16:25:30
Jens
Zum 2ten Mal begegne ich diesem blöden Problem.
Ich lasse eine Zelle (M2) per Formel füllen, in diesem Fall
=Rechts(C4;LÄNGE(C4)-SUCHEN(",";C4)).
Per Macro sieht das so aus:
ActiveCell.FormulaR1C1 = "=Rechts(R[2]C[-10],Länge(R[2]C[-10])-SEARCH("","",R[2]C[-10]))"
in C4 steht z.B. Hauptstr. 143-156, 51467 Bergisch Gladbach
Ziel ist es, Die Strasse, PLZ und den Ort in 3 verschiedene Zellen zu bekommen.
Nun wollte ich die Zelle M2 kopieren, und mit LTrim das führende Leerzeichen wegbekommen.
Dummerweise wird immer nur #Name? kopiert. Ich muss erst per Doppelklick in die Zelle M2 klicken, dann funktioniert auch alles. Das Problem hatte ich schon einmal, da trat es aber erst bei der Berechnung der letzten Zelle auf, da konnte ich mit leben. Nun ist es mitten drin, und ich komme deswegen nicht weiter.
Meine Fragen wären nun:
Warum wird die Zelle nicht mit dem entsprechenden Wert gefüllt? Mache ich dort was falsch?
Und wie kann ich evtl. diesen Doppelklick per Makro ausführen lassen.
Ich poste mal zum evtl. besseren Verständnis den Teil des Macros. Ist umständlich, aber ich wollte ja den Fehler umschiffen^^
ActiveCell.FormulaR1C1 = "=Left(R[2]C[1],SEARCH("","",R[2]C[1]))"
Range("M2").Select
ActiveCell.FormulaR1C1 = "=Rechts(R[2]C[-10],Länge(R[2]C[-10])-SEARCH("","",R[2]C[-10]))"
Range("M2").Select
Selection.Copy
Range("M3").Select
Selection.PasteSpecial Paste:=xlValues
Range("M2").Select
ActiveSheet.Paste
Trimmer = Range("M2").Value
Trimmer2 = LTrim(Trimmer)
Range("M2").Value = Trimmer2
Trimmer und Trimmer2 sind String Variablen, nur zu diesem Zweck erstellt.
Wäre für eine Antwort sehr dankbar.
Ciao
Jens