Formle via Makro ersetzen
05.07.2003 15:11:57
Michael H.
Ich möchte via VBA-Makro die Formel
=WENN(M2="";"";WENN(M2>17,9;0;KÜRZEN(((75/(M2+0,24))-4,1)/0,00664;0)))
durch die Formel
=WENN(M2="";"";WENN(M2>17,9;0;KÜRZEN(((75/(M2+0,24))-3,998)/0,0066;0)))
ersetzen. Da sich die Formel in jeder Zeile ändert (aus M2 wird in der nächsten Zeile M3, usw.) verwende ich dazu folgenden Code:
For Zeile = "2" To "36"
Cells.Find(What:="=WENN(M" & Zeile & "="";"";WENN(M" & Zeile & _
">17,9;0;KÜRZEN(((75/(M" & Zeile & "+0,24))-4,1)/0,00664;0)))", _
After:=ActiveCell, LookIn:=xlFormulas, LookAt:=xlWhole, SearchOrder:= _
xlByRows, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False) _
.Replace What:= _
"=WENN(M" & Zeile & "="";"";WENN(M" & Zeile & _
">17,9;0;KÜRZEN(((75/(M" & Zeile & "+0,24))-4,1)/0,00664;0)))", _
Replacement:= _
"=WENN(M" & Zeile & "="";"";WENN(M" & Zeile & _
">17,9;0;KÜRZEN(((75/(M" & Zeile & "+0,24))-3,998)/0,0066;0)))", _
LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:= _
False, ReplaceFormat:=False
Next Zeile
Beim Ausführen des Makros kommt jedoch immer der der
Laufzeitfehler '91':
Objektvariable oder With-Block nicht festgelegt.
Wenn ich das Makro aufzeichne und unverändert abspielen will, funktioniert es manchmal, und manchmal nicht, ohne dass ich einen Unterschied im Code erkenne!
Kann mir jemand sagen, was ich falsch mache und wie ich den Fehler vermeiden kann?
Danke für eure Hilfe
Michael