Macro VBA para eliminar final según valor en celda

Tengo una serie de datos en la columna a y b que se repiten, obligatoria mente al principio todos se repiten (intercambiados pero se repiten, es decir columna a =123 y columna b 321 y en otra final el valor repetido sería columna a =321 y b =123, eso es lo repetido) al menos una vez, tengo una macro que me dice los valores que esta repetidos y me arroja un mensaje en la columna c que dice "valor ya coincidente" al eliminar la fila donde esta el mensaje y volver a ejecutar la macro alguna otra final donde estaba el otro valor ya no arroja nada, mi problema es que tengo que eliminar ejecutar, eliminar ejecutar, así hasta que la columna c esté limpia.

Lo que requiero es crear una macro que me elimine UNA sola fila donde esté el valor "valor ya coincidente" y me llame la otra macro que me arroja el valor en la columna c, al llamarla una de las filas ya no tendrá valor, entonces ahí requiero volver a ejecutar la macro que elimine y esta al eliminar una sola fila traiga la otra macro que me trae el valor en la columna c, entonces es que una llame a la otra hasta que la columna c este limpia.

1 Respuesta

Respuesta

Quizá si muestras los datos y tus macros sea más fácil entenderte.

Abraham Valencia

Bien, tengo esta hoja de calculo con una macro que me dice "valor ya coincidente" en la columna c.

Ahí ya está ejecutada la macro, yo elimino una fila para quitar un valor ya coincidente ejecuto la macro y la hoja me quedaría del siguiente modo.

Si lo notan, en la fila 2 ya no esta el valor "Valor ya coincidente"

Si vuelvo a eliminar una fila donde este el valor "Valor ya coincidente" me quedaría así.

Y la idea es eliminar las filas donde diga "Valor ya coincidente" ejecutar la macro y eliminar así sucesivamente hasta que todas las celdas de la columna C estén en blanco, el problema es que a veces tengo cientos de datos y hacerlo manualmente me lleva mucho tiempo. Lo que requiero es una macro que busque el valor en una celda "Valor ya coincidente" y elimine esa fila, pero que sea una sola, no dos, tres o varias, solo una, y al final de esa macro pondría.

Call Revisar_Duplicados

Y en la macro Revisar_Duplicados pondría al final 

Call Elimiar_Duplicados (o cual sea el nombre que se le asigne)

Para hacer un circulo infinito hasta eliminar todos los valor ya coincidentes. 

¿Y por qué la primera vez elimino "esa" fila, y por qué también se eliminó una frase de otra fila? ¿Por qué se elimino "esa otra" fila la segunda vez y por qué esa "otra frase"? etc.

Y cuando colocas aquí "call", la verdad sin conocer tus macros (solo mencionas supuestos nombres), no se entiende tampoco. Menos aún cuando dices "círculo infinito".

No olvides que desde este lado de la pantalla es muy difícil saber/adivinar lo que tienes en tu PC y en tu mente. Quizá tú lo ves y cuando escribes lo entiendes pero no olvides que es porque tú eres el de la idea.

Abraham Valencia

Tal cual como dices, en tu mente intentaste transmitir algo pero no fue claro. En todo caso, ya me están ayudando por otro lado, gracias por tu ayuda.

En realidad la idea era esa: Que te des cuenta que no se entiende lo que intentas transmitir, nada más. Yo no intentaba hacer entender nada ya que éste no es un dilema que a mí se me hay presentado.

Suerte entonces.

Abraham Valencia

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas