Macro para base de datos

Hola.En una hoja de excel tengo en la columna A, comenzando desde A2, 2 celdas con un mismo número(por ejemplo 00008). Los números de las celdas de la columna están ordenados en forma ascendente(del 00001 al 05000). Necesito una macro que compare 2 celdas en la columna, y si son iguales, ubicarse en la superior y eliminar toda la fila. Como los números están ordenados, una está encima de la otra, ya que ambas tienen el mismo número. Espero que se entienda. Muchas Gracias.

1 respuesta

1
Respuesta de
Hola, Sansox!
La macro siguiente hará lo que solicitas, dejando siempre el último valor de una serie de valores repetidos, en tanto estos estén ordenados.
Por lo tanto, activa el editor de Visual Basic (presiona Alt+F11), inserta un nuevo módulo ("Insertar", "Módulo") y pega el siguiente código:
Sub eliLinea()
Do While Not IsEmpty(ActiveCell)
If ActiveCell.Value = Ultval Then
ActiveCell.Offset(-1).EntireRow.Delete
Else
ActiveCell.Offset(1).Select
Ultval = ActiveCell.Value
End If
Loop
End Sub
Cierra el editor de Visual Basic y graba el archivo (esto servirá de backup)
Asumiendo que tu lista de datos es continua -no hay celdas en blanco en tal listado- la macro irá comparando los contenidos de las celdas de la columna que hayas elegido como guía y eliminará toda la fila superior si fuera igual a la celda actual. Cuando encuentre una celda vacía, la macro se detendrá.
Pruébalo y dime si funcionó.Si así fuera, agradeceré un comentario y que la finalices.
(Recuerda que mantener cierto número de respuestas pendientes impide que otros usuarios puedan consultarme)
Un abrazo!
Fernando
*====================================*
La presente respuesta ha demandado un tiempo de lectura,
análisis, elaboración y redacción. A cambio, simplemente,
pretendo que te tomes un minuto para FINALIZARLA, si
hubiera satisfecho -en alguna medida- tu requerimiento.
(Considera que la valoración que figura predeterminada
es 3/5. Tal vez quieras cambiarla...)
En caso contrario, puedes preguntarme nuevamente
aclarando qué entendí mal o qué faltó. Gracias...
*====================================*
Añade un comentario a esta respuesta
Añade tu respuesta
Haz clic para o
Escribe tu mensaje