Código para eliminar filas |
Responder |
Autor | |
jtovar19
Nuevo Unido: 23/Julio/2021 Localización: Ciudad de Mexic Estado: Sin conexión Puntos: 1 |
Opciones de entrada
Gracias(0)
Enviado: 23/Julio/2021 a las 18:41 |
Hola! Tengo el siguiente código que necesito usar para comparar dos bases de datos y eliminar las filas que no esten actualizadas. Ya he probado con un bucle For o While, pero lo mas que he llegado es a eliminar una fila. Adjunto el código.
Sub QuitarVencidasBD() Dim cont As Long Dim uf As String Dim vencida As Variant Dim match As Variant Dim rango As Variant uf = Sheets("Base de Datos").Range("A5").End(xlDown).Row Set rango = Sheets("Base de Datos").Range("A5:A25000") Sheets("Base de Datos").Activate For cont = 5 To uf vencida = Sheets("Vencidos").Cells(cont, 6) match = Application.VLookup(vencida, rango, 1, False) If IsError(match) = False Then match.EntireRow.Delete End If Next cont End Sub Muchas gracias! |
|
AnSanVal
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador Unido: 16/Marzo/2005 Localización: España Estado: Sin conexión Puntos: 5974 |
Opciones de entrada
Gracias(1)
|
Cuando desees eliminar filas, no lo hagas desde la fila 5 a la fila 25000, debes hacerlo (en modo inverso) desde la fila 25000 a la fila 5 (de abajo hacia arriba), o te podrían quedar datos sin leer.
Ejemplo: si en A15 tienes peras (eliminable) y en A16 tienes uvas (eliminable), leyendo de arriba a abajo eliminas 'peras' y 'uvas' pasa a ocupar A15, pero el bucle no vuelve a leer A15 sino que pasa a A16 (que era A17) que es el siguiente paso, con lo cual uvas no es eliminada y el método falla, en cambio leyendo de abajo a arriba el bucle lee A16 > elimina uvas > el bucle lee A15 y elimina peras. |
|
Saludos desde Tenerife.
|
|
lbauluz
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador Unido: 29/Marzo/2005 Localización: La Gloria Estado: Sin conexión Puntos: 3859 |
Opciones de entrada
Gracias(0)
|
Lo que te viene a decir AnSanVal es
En lugar de poner: For cont = 5 To uf Pon: For cont = uf to 5 step -1 El resto parece estar bien. Luis
|
|
El Búho es un pajarraco
|
|
Responder | |
Tweet
|
Ir al foro | Permisos de foro Usted No puede publicar nuevos temas en este foro Usted No puede responder a temas en este foro Usted No puede borrar sus mensajes en este foro Usted No puede editar sus mensajes en este foro Usted No puede crear encuestas en este foro Usted No puede votar en encuestas en este foro |