Una super Macro sencillita...

Tengo un libro que cuenta con 3 hojas. En principio lo que necesito hacer es una macro capaz de:
- Verificar que el texto en cada una de las celdas de cada libro solo tenga como caracteres las letras de la A.. Z, a.. Z, 0.. 9, _ y no más. Es decir, validar que no exista ningún carácter raro.
- Verificar que los datos en cada celda de una columna determinada no se repitan en esa misma columna, ni tampoco en las columnas de las otras hojas.
- Generar una nueva hoja, con un único listado, producto de la suma de las listas de las otras hojas y que luego me permita grabar como CSV ese nuevo listado.
Espero que se entienda la pregunta.
En realidad no quiero molestar al punto tal que me resuelvan todo mi problema, me basta con que me recomienden la forma más práctica de lograr cada uno de los requerimientos planteados.
Muchas gracias.
Respuesta
1
Lo primero que tienes que hacer es varios bucles anidados. El primer rango del primer bucle es 1 y el final es el numero de celdas con datos (esto lo puedes hacer con la fórmula contara) en cada STEP tienes que evaluar si el contenido es texto o numero, (esto lo haces con las fórmulas estexto y esnumero). Luego cuentas el numero de caracteres de la celda (esto lo haces con la fórmula largo) y extraes cada uno de los caracteres y los comparas con un patro que ya tengas definido.
Estas comparaciones lo tienes que hacer con otro bucle for desde 1 hasta el numero que cuente de caracteres y dentro de este bucle tiene que ir haciendo la comparación con las letras o números
Esta es la única manera que por ahora se me ocurre, es bastante largo pero voy pensando que otra forma se puede hacer que sea más eficiente.
Recuerda si tienes office en español, las fórmulas dentro de la macro tienes que estar en inglés.
No he trabajado mucho con macros, pero no creo tener inconvenientes debido a que tengo larga experiencia en programación en general.
Pero antes de largarme a hacer esto es que preferí empezar preguntando acá ya que siempre me han dado buenas soluciones.
Primero necesito saber en qué nivel estas de macros. Haces macros avanzadas o sencillas.
Para adelantarte, puedes hacer una macro que primero valide cada celda si es texto o numero. Si es texto, entonces que extraiga cada uno de los caracteres de la celda y los compare con un patrón de letras y si encuentra una diferencia muestre un mensaje e indique que celda es. Igual con los números.
Ok, entonces no tendré más alternativa que evaluar en cada celda carácter por carácter :-(
Luego... ¿cómo puedo hacer para generar automáticamente un CSV a partir de la planilla resultante?

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas