Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim M, DM, Cell As Range
For Each Cell In Target.Cells
M = Evaluate("=Cell(""format""," & Cell.Address & ")")
If M Like "C*" Or M Like "F*" Or M Like ",*" Then
DM = IIf(Application.DecimalSeparator = ".", ",", ".")
If InStr(Cell, DM) Then
Application.EnableEvents = False
Cell.Value = Val(Replace(Cell, DM, Application.DecimalSeparator))
Application.EnableEvents = True
End If
End If
Next
End Sub