Aunque en Excel existen varias maneras de encontrar
valores duplicados, me decidí a hacer una macro con dicho fin porque esta nos permitirá
entre otras cosas el uso de vectores y métodos de ordenación.
Como pueden ver el nombre y correo electrónico se repiten
los deje igual porque el dato que más nos interesa es el teléfono. La macro que
les mostrare a continuación busca los teléfonos repetidos y los resalta con un color
especifico además escribe en la celda contigua en que posición de la hoja de
calculo se encuentra el teléfono por primera vez.
Para empezar definimos las variables globales:
Se definen dos vectores pero a ninguno se le asigna el
tamaño, esto porque no sabemos cuantos datos contendrá la hoja de cálculo. En
el vector1 guardaremos los números de teléfono y el vector2 la fila en la hoja
de calculo que contiene dicho numero de teléfono.
Después agregamos la rutina principal
Curso online de excel |
A partir de esta rutina se ejecutara toda la macro, para
averiguar cuantas filas con datos tiene la hoja de calculo usamos la instrucción ffinal = ws.Range("C2").End(xlDown).Row.
Conociendo este dato redefinimos el tamaño de los
vectores con la instrucción
ReDim
Preserve vector1(ffinal - 1)
ReDim
Preserve vector2(ffinal - 1)
Podemos hacerlo sin usar la palabra Preserve esta se usa para indicar que cuando se redefina el tamaño
del arreglo no se borren los datos que contiene, en este caso no era realmente
necesario pues el vector aun se encuentra vacio.
Generamos un ciclo que nos permite adicionar valores al
vector invocando una rutina creada para dicho fin.
For F = 2 To ffinal
Adicionar_Vector ws.Range("C" & F), F
Next
F
Después invocamos
otra rutina que organiza el vector usando el método burbuja y por ultimo buscamos valores repetidos en el vector
con una rutina más.
Esta es la rutina que agrega datos a los vectores:
Recibe por parámetro el teléfono y la fila en la hoja de cálculo
que contiene dicho teléfono, guarda en el vector1 el teléfono y en el vector2
la fila del teléfono.
Después debemos ordenas los vectores, esto nos lo
facilita la siguiente rutina
Para ordenar el vector usamos el método burbuja, lo que
hacemos con este método de ordenación es comparar cada posición del vector con
la siguiente intercambiándola si es menor (para este caso donde queremos
ordenar en orden ascendente) este procedimiento se repite hasta que no sea
necesario realizar mas intercambios.
Para finalizar adicionamos la rutina que nos permitirá encontrar
los teléfonos repetidos:
Cusro online de excel |
En esta rutina recorremos los vectores comparando cada posición
con la siguiente si tienen el mismo numero de teléfono resaltamos la celda de
la hoja de Excel con un color especifico y escribimos en la celda
inmediatamente contigua donde se encuentra dicho teléfono por primera vez.
Así es como se ve la hoja de cálculo después de ejecutar
la macro:
Espero que esta información te sea útil, si quieres
aprender mas sobre Excel avanzado visita nuestro curso online, el curso de Excel se encuentra dividido en tres
niveles:
Nivel Básico: Diseñado para las personas que no
tienen ningún conocimiento en Excel aprenderá a crear planillas formulas gráficos.
Nivel Intermedio: Diseñado para aquellos que
tienen los conocimientos básicos de Excel, entre otras cosas aprenderá a crear semáforos, tableros comandos, tableros
de función etc.
Nivel avanzado: aprenderá funciones muy
poderosas de Excel que lo impulsaran en su vida laboral, tablas dinámicas,
solver , buscar objetivos.
Los beneficios que obtendrá con respecto a un
curso presencial de excel son varios:
El curso está disponible las 24 horas, podrá
ingresar a la hora que quiera es decir no estará limitado por horarios.
Se inscribe en el curso una vez y estará disponible
para usted de por vida.
No hay mensualidades, paga una vez y tiene acceso al curso de por vida además
de manuales y libros de Excel
Para mayor información sobre el curso de Excel online haga clic aquí.
Curso online de excel |
Si necesitas automatizar tus procesos en excel escríbeme a macrosymacros1@gmail.com.
Puedes descargar el documento excel con la macro siguiendo este enlace.
En mi ebook Macrosymacros encontraras una colección de
macros, que te serán muy útiles en tus
procesos de automatización de hojas de calculo, puedes encontrarlo aquí.
Muchas gracias, por el modelo de macro, realemente bueno. saludos desde Temuco, Chile
ResponderEliminar