Hier ein Versuch. kopiere den Code in das Codemodule des betreffenden Blattes.
Die entsprechenden Ersetzungen nimmst du noch vor. Siehe Kommentare.
Keine Garantie, Nicht an Originaldateien testen.
Private
Sub
Worksheet_Change(
ByVal
Target
As
Range)
If
Not
Intersect(Target, Range(
"E5:E7"
))
Is
Nothing
Then
Dim
rng
As
Range, sh
As
Worksheet
Dim
sErsetzung$ : sErsetzung =
"Hier dein pfad eingeben"
On
Error
Resume
Next
Set
rng = Cells.SpecialCells(xlCellTypeFormulas, 16)
On
Error
GoTo
0
If
Not
rng
Is
Nothing
Then
With
Application
.ScreenUpdating =
False
: .EnableEvents =
False
Call
Fehlerkorr(rng, sErsetzung)
.ScreenUpdating =
True
: .EnableEvents =
True
End
With
End
If
End
If
End
Sub
Sub
Fehlerkorr(rng
As
Range, sErsetzung as
String
)
Dim
cel
As
Range
Dim
are
As
Range
Dim
str$
Dim
ret: ret = Application.ErrorCheckingOptions.BackgroundChecking
Application.ErrorCheckingOptions.BackgroundChecking =
False
Application.Calculation = xlCalculationManual
For
Each
are
In
rng.areas
For
Each
cel
In
are
str = cel.Formula
With
WorksheetFunction
str = .Substitute(.Substitute(str,
"#Ref!"
, sErsetzung ),
"#BEZUG!"
, sErsetzung )
End
With
cel.FormulaLocal = str
Next
Next
Application.ErrorCheckingOptions.BackgroundChecking = ret
Application.Calculation = xlCalculationAutomatic
Application.EnableEvents =
True
End
Sub