Teil einer Formel per VBA austauschen
27.02.2004 14:16:34
Thorsten Becker
ich habe sehr viele Zellen mit folgender Formel zu versehen:
=INDIREKT("'"&home!$A$17&"ic'!B23")+INDIREKT("'"&home!$A$18&"ic'!B23")
Leider verändert Excel den Zellbezug B23 nicht. D.h., dies muss ich nun selbst manuell machen, was jedoch bei mehreren hundert Zellen, z.B. von B23 bis Z50 sehr zeitaufwendig ist. Mir schwebt nun ein Makro vor, welches nach diesem "B23" sucht und es entsprechend einfach durch "ActiveCell.Adress", also die jeweils aktuelle Zellkoordinate ersetzt, z.B. G35 oder $G$35.
Dazu bin ich schon auf folgenden Code gestoßen:
Sub string_aus_formel()
raus = "B23" 'zu ersetzender String
rein = ActiveCell.adress 'PROBLEM, FUNKTIONIERT LEIDER SO NICHT
'einzufügender String
For Each cell In Selection
If cell.HasFormula = True Then
cell.Formula = Application.WorksheetFunction.Substitute(cell.Formula, raus, rein)
End If
Next
End Sub
Hat vielleicht jemand eine Idee, wie ich die Zeile "rein = ActiveCell.adress" korrigieren muss?
Schon jetzt recht herzlichen Dank
Thorsten