BEREICH.VERSCHIEBEN durch Zellverweis ersetzen

Ich habe in einer Exel-Tabelle mit BEREICH.VERSCHIEBEN (= Offset in Englisch) ziemlich viele Verlinkungen durchgeführt (Zelle zu Zelle). Nun möchte ich die BEREICH.VERSCHIEBEN-Formeln ersetzen durch direkte Zellverweise (also z.B. =TabelleN!X123) auf die Zelle, auf die BEREICH.VERSCHIEBEN zum Umwandlungszeitpunkt gezeigt hat.

Am liebsten wäre mir eine Lösung in reinem Excel, aber C#/VSTO hätte ich zur Not auch zur Verfügung.

Ich habe in einer Exel-Tabelle mit BEREICH.VERSCHIEBEN (=
Offset in Englisch) ziemlich viele Verlinkungen durchgeführt
(Zelle zu Zelle). Nun möchte ich die
BEREICH.VERSCHIEBEN-Formeln ersetzen durch direkte
Zellverweise (also z.B. =TabelleN!X123) auf die Zelle, auf die
BEREICH.VERSCHIEBEN zum Umwandlungszeitpunkt gezeigt hat.

Hi Gondax, 




    Option Explicit
    '
    Sub Ersetzen()
    Dim wks As Worksheet, Zelle As Range, Von As Long, Bis As Long, Zei As Long
    On Error Resume Next
    Application.DisplayAlerts = False
    Worksheets("BV").Delete
    Application.DisplayAlerts = True
    On Error GoTo Ende
    Worksheets.Add after:=Worksheets(Worksheets.Count)
    ActiveSheet.Name = "BV"
    With Worksheets("BV")
     For Each wks In Worksheets
     If wks.Name .Name Then
     For Each Zelle In wks.UsedRange
     If Zelle.HasFormula Then
     Von = 0
     While InStr(Von + 1, Zelle.Formula, "OFFSET")
     Von = InStr(Von + 1, Zelle.Formula, "OFFSET")
     Bis = InStr(Von, Zelle.Formula, ")")
     Zei = Zei + 1
     .Cells(Zei, 1) = Mid(Zelle.Formula, Von, Bis - Von + 1)
     .Cells(Zei, 2) = Evaluate(.Cells(Zei, 1).Value).Address
     .Cells(Zei, 3) = wks.Name
     .Cells(Zei, 4) = Zelle.Address
     Wend
     End If
     Next Zelle
     End If
     Next wks
     .Columns("A:smiley:").AutoFit
    End With
    Exit Sub
    Ende:
    If Err.Number 0 Then MsgBox "Fehler trat auf"
    Resume Next
    End Sub