Private Sub Worksheet_Change(ByVal Target As Range)
Dim i&, p&, codeA$, codeB$, temp$, oCel As Range, oPlg As Range
Set oPlg = Intersect(Target, Range("A1:G500"))
If Not oPlg Is Nothing Then
codeA = "ÀÄÂÇÉÈÊËÌÎÏÒÔÖÙÛÜŸ-&'_=+°@^\`|[{#~*-+.;,:!"
codeB = "AAACEEEEIIIOOOUUUY "
For Each oCel In oPlg
temp = UCase(oCel.Value)
For i = 1 To Len(temp)
p = InStr(codeA, Mid(temp, i, 1))
If p Then Mid(temp, i, 1) = Mid(codeB, p, 1)
Next
Application.EnableEvents = False
oCel.Value = WorksheetFunction.Trim(temp)
Application.EnableEvents = True
Next
End If
End Sub