Macro para eliminar Filas Vacías en una Tabla llamada "Faltan".

Tengo una tabla llamada "Faltan", esa tabla está en la columna "T" de una hoja llamada "Estado":

En esta tabla pego diariamente una cantidad de códigos, esa cantidad de códigos puede variar, se deecir; hoy pueden ser más, mañana menos, en fin. Lo que deseo hacer, es una macro, que dado el caso, en que hoy hayan menos datos que los que pegué ayer, entonces, me elimine las celdas vacías de la tabla "Faltan" únicamente.

1 Respuesta

Respuesta
1

¿Este tema está aún sin resolver? Si es así aclara por favor:

- Si el pegado que haces diariamente es manual o mediante alguna macro.

- Si solo se eliminarán las celdas que 'sobran' del día anterior o toda la fila.

Gracias Elsa, si está pendiente aun.

1. Se pega mediante una macro y pueden ser más que el día anterior o menos.

2. Solo se eliminan las celdas que obran del día anterior (pueden ser muchas filas o no pude ser ninguna). Eso varia.

Gracias por tu interés.

Luis Carlos

Entonces necesitaré que escribas aquí o me envíes la macro. Porque allí mismo debes evaluar 'antes de pegar' cuál es la última celda ocupada, por ej:

filx = range("T" & rows.count).end(xlup).row

Y luego cuál es la última pegada... esa surge de la macro de pegado que guardarás en otra variable, digamos fily

Luego se evalúa si esta última es menor y en ese caso se elimina la diferencia.

If fily < filx then  Range("T" & fily + 1 & ":T" & filx).Delete Shift:=xlUp

No me quedó claro si debe eliminar las 'filas' sobrantes o solo las celdas de esa columna. Esta instrucción solo borra las celdas.

Otro modo sería que al inicio de tu macro, borres todo el rango ocupado y luego pegues lo nuevo... evalua si esta opción no te desconfigura nada ni te afecta a fórmulas que pudieras tener.

El tema 'copiar/pegar' tiene tantas aristas que motivó que incluya ese tema en el manual de 6 Guías Temáticas.

Sdos!

Te recuerdo que la consulta sigue abierta... comenta si queda algo por resolver o valora para darla por cerrada.

Sdos!

¡Gracias! 

Hola Elsa, disculpa la demora en responder. He tenido algunos inconvenientes de salud que me tienen alejado de mi trabajo.

Borrar todo el rango ocupado y luego pegues lo nuevo, me parece una buena solución.

Gracias.

Te dejo un ejemplo.

Sub pegadoEspecial()
'x Elsamatilde
'limpia rango T de hoja Estadpo para volver a pegar información
Set hoe = Sheets("Estado")
hoe.Range("T2:T" & hoe.Range("T" & Rows.Count).End(xlUp).Row).ClearContents
'Ejemplo: pega datos de otro origen
ActiveSheet.Range("M2:M" & Range("M" & Rows.Count).End(xlUp).Row).Copy _
Destination:=hoe.[T2]
Application.CutCopyMode = False
End Sub

Aquí bien podría estar en otra hoja desde donde se copiará a la de Estado.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas