VBA-Beispiel 074
mail schreiben
mail schreiben

per VBA Formeln ändern

Mit einem Makro soll in allen Formeln der Text "Tabelle1" in "Tabelle2" geändert werden.
Sub Formel_durchsuchen_und_anpassen()  
Dim alteFormel As String, neueFormel As String
Dim alteFarbe As Integer, Antwort As Integer
Dim Zelle As Range

For Each Zelle In ActiveSheet.UsedRange
 'prüfen ob Zelle eine Formel mit Tabelle1 enthält
  If Zelle.HasFormula = True And InStr(1, Zelle.Formula, "Tabelle1") <> 0 Then
    Zelle.Activate
    alteFarbe = Zelle.Interior.ColorIndex  'Zellfarbe merken
    alteFormel = Zelle.Formula
    neueFormel = Replace(alteFormel, "Tabelle1", "Tabelle2")

    Zelle.Interior.ColorIndex = 6

   'Rückfrage ob Formel geändert werden soll
    Antwort = MsgBox("soll die Formel in Zelle " & Zelle.Address & " ersetzt werden?" _
              & vbNewLine & vbNewLine _
              & "alte Formel: " & alteFormel & vbNewLine _
              & "neue Formel: " & neueFormel, vbYesNo, "Formel ersetzen?")

     'falls ja, Formel ändern
      If Antwort = 6 Then
        Zelle.Formula = neueFormel
      End If  

   'alte Zellfarbe einstellen
    Zelle.Interior.ColorIndex = alteFarbe
  End If

Next Zelle

End Sub

Download:   vba074.zip