Existen ocasiones
que tenemos que simplificar o unificar una lista de nombres (valores) únicos, para ello recibimos la información en
un listado de Excel y en estos valores recibimos palabras con tildes, sin ellas., caracteres especiales y dobles espacios Ejemplo de esto puede ser: TECNICO y TÉCNICO. Aunque en teoría son muy iguales,
necesitas dejar un valor único para poder unificar las listas.
Para sacar un mejor
partido a la opción “Quitar duplicados” de la cinta de Excel, lo primero que
debes hacer es guardar el archivo con la lista en formato .xlsm. “Libro de Excel
habilitado para macros”. Después
habilitar la cinta de Desarrollador a través del menú archivo, opciones de Excel
y personalizar cinta de opciones.
Posteriormente ir a
la cinta de programador, ingresas a la opción Visual Basic. En esta opción y
sobre el nombre de archivo usas el clic derecho para insertar un módulo. También
puedes llegar a la opción de Visual Basic con las teclas de acceso rápido Alt+F11.
Una vez agregado el
módulo, puedes copiar la función que se encuentra escrita abajo. La función quita
los acentos, caracteres especiales y reemplaza los dobles espacios por un
espacio.
Function QuitarAcentos(Valor
As String) As String
Dim ConSignos As String
Dim SinSignos As String
Dim Remover As String
Dim CaracterOLD As String
Dim CaracterNEW As String
ConSignos
= "áàäéèëíìïóòöúùüçÁÀÄÉÈËÍÌÏÓÒÖÚÙÜÇ"
SinSignos
= "aaaeeeiiiooouuucAAAEEEIIIOOOUUUC"
Remover =
"./\*$-+!#%&/()=?¡'¿¨*@´+~{}[]`^,.:;_<>"
Dim Texto As String
Texto =
Valor
If (Len(Texto)
> 0) Then
For iLoop =
1 To Len(ConSignos)
CaracterOLD
= Mid(ConSignos,
iLoop, 1)
CaracterNEW
= Mid(SinSignos,
iLoop, 1)
Texto
= Replace(Texto, CaracterOLD, CaracterNEW)
Next iLoop
For iLoop =
1 To Len(ConSignos)
CaracterOLD
= Mid(Remover,
iLoop, 1)
Texto
= Replace(Texto, CaracterOLD, "")
Next iLoop
End If
While (InStr(Texto,
" ") > 0)
Texto
= Replace(Texto, " ", " ")
Wend
QuitarAcentos
= Texto
End Function
Terminada de
agregar la función al módulo, basta con insertar la función a la hoja de Excel a
través de la opción de “Insertar función”, en la categoría Definidas por el
usuario.
A continuación podrás apreciar el resultado de
la función.
Texto Original
|
Texto sin Acentos y Caracteres especiales
|
TECNICO EN
COMPUTACIÓN % +
|
TECNICO EN
COMPUTACION
|
TECNICO
EN #$ COMPUTACIÓN
|
TECNICO EN
COMPUTACION
|
Con las listas simplificadas, podrás copiar el resultado sobre la lista original o en una nueva hoja y posteriormente quitar los duplicados, esto facilitará la depuración de textos.
Está función es muy útil cuando toca depurar información para cargar tablas paramétricas en una base de datos.
Si te es de utilidad la información anterior,
no olvides dar un “Like”.
No hay comentarios:
Publicar un comentario