Quitar última fila con datos

16/07/2007 - 23:20 por Tony | Informe spam
Hola de nuevo:

Necesito introducir en una macro el código para indicar que elimine la
última fila que contiene datos... Esta fila puede variar, puede ser la 20, la
22, la 86, etc...

¿Cómo puedo hacerlo?...

Gracias por anticipado.

Preguntas similare

Leer las respuestas

#1 Ivan
17/07/2007 - 00:14 | Informe spam
On 16 jul, 23:20, Tony wrote:
Mostrar la cita
hola Tony,

tienes varias opciones, entre ellas estas (para anteriores a Excel
2007):

op 1.- suponiendo que, cuando una fila tiene datos, existe una columna
que tiene siempre datos, pej. la columna A, puedes usar, dentro de tu
macro, la instruccion

Range("a65536").End(xlup).EntirRow.Delete

donde en ("a65536") deberias cambiar la 'a' por la letra de la columna
que sepas que siempre va a contener datos

op 2.- suponiendo que tu lista no contiene ninguna fila vacia entre
medias:

With Range("a1").CurrentRegion
.Rows(.Rows.Count).Delete
End With

donde ("a1") deberias cambiarlo por la 1ª celda de tu lista ( o por
una que este en ella) si esta no fuese a1

hay mas opciones, pero la 1ª, si conoces la columna es (creo que) de
las mejores

espero te ayude

un saludo
Ivan
#2 Tony
18/07/2007 - 00:14 | Informe spam
Antes de nada GRACIAS por la contestación.

Después de poner el código de la opción 1) con la columna A (puesto que esta
columna sí que tiene datos), resulta que me aparece un error que pone: "Se ha
producido el error '438' en tiempo de ejecución. El objeto no admite esta
propiedad o método."

A pesar de que he probado con otras columnas que también tienen datos, sigue
apareciendo el mismo error...

Creo que le falta algo a ese código, ¿qué está pasando?...

Gracias de nuevo.



"Ivan" wrote:

Mostrar la cita
#3 Ivan
19/07/2007 - 09:23 | Informe spam
On 18 jul, 00:14, Tony wrote:
Mostrar la cita
hola Tony,

disculpame, es culpa mia. Me he comido una letra. Cambia esto=>>

Range("a65536").End(xlup).EntirRow.Delete


por esto=>>

Range("a65536").End(xlup).EntireRow.Delete
#4 Ivan
19/07/2007 - 17:36 | Informe spam
hola y disculpa, Tony,

me temo que me he comido una letra. Cambia el 'EntirRow' por
EntireRow'. Quedaria asi:

Range("a65536").End(xlup).EntireRow.Delete

un saludo, y comentas si sigue habiendo problemas?

Ivan
Ads by Google
Search Busqueda sugerida