It doesn't matter what the defined name of the cell is (Unless you change it's location often.) What is important in VBA is the Cells Address, however, unless you specifically "tell" VBA to use a defined Range, the Name itself can be used as a Procedure name.
I assume you actually have many such corrective cells, so this is towards that case
First you need to have VBA take note of when you enter a corrective value in the Defined Range
In the Worksheet code module, that has all these Defined Ranges
Worksheet_Change(ByVal Target As Range
'For each Defined Name Address...
If Not Intersect(Target, Range("A1")) is Nothing Then COR5010 Target '"A1" is the address of (Defined Range COR1050.)
'COR5010 is herein used as a Procedure name
'More Ranges with different addresses and different Procedure Names.
'More Ranges with different addresses and different Procedure Names.
'More Ranges with different addresses and different Procedure Names.
End Sub
Private Sub COR5010() 'A typical Procedure
Dim CorCel As Range 'Where CorCel is the cell to be changes
Set CorCel = Sheets("Sheet2").Range("D27") 'Edit the Range address to suit each Named Procedure
Dim tmp
Tmp = CorCel.Value2
If Left(tmp, 1) = "=" Then tmp = Right(Split(tmp, "-")(0), 2) 'Is tmp a formula? then get the original value from tmp
'Edit the minus sign to suit the correction
CorCel.Formula ="=" & tmp & "-Cor1050" 'Edit "COR1050" to suit each Defined Range
'Edit the minus sign to suit the correction
End Sub