.
Hola, Rocío
Tendrás, imagino, una lista de conversión donde para cada ciudad mal escrita tenga su correspondiente palabra correcta. Asígnale un nombre a esa lista de valores permitidos, por ejemplo "ListaCiu"
Luego coloca esta otra rutina en un módulo para que haga la conversión:
Sub Normalizar()
RangoCorr = "ListaCiu" 'nombre del rango de conversión
Set ElArea = Selection
For linea = 0 To Range(RangoCorr).CurrentRegion.Rows.Count - 1
NomActual = Range(RangoCorr).Offset(linea, 0)
NomStand = Range(RangoCorr).Offset(linea, 1)
ElArea.Replace What:=NomActual, Replacement:=NomStand, LookAt:= _
xlWhole, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Next
For Each LaCelda In ElArea
LaCelda.Value = WorksheetFunction.Proper(Trim(LaCelda.Value))
Next
Set ElArea = Nothing
End Sub
Al principio puedes cambiarle el nombre al rango de valores permitidos.
Luego, selecciona el rango de celdas donde efectuar la corrección, primero y ejecuta la macro.
Ella recorrerá la selección y donde encuentre un caso a cambiar lo hará. Por otra parte, en todos los casos colocará la primera letra en mayúscula y el resto en minúsculas.
Espero haberte entendido correctamente.
Saludos
Fer
.