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:
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.



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
Respuesta Responder a este mensaje
#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:

On 16 jul, 23:20, Tony wrote:
> 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.

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


Respuesta Responder a este mensaje
#3 Ivan
19/07/2007 - 09:23 | Informe spam
On 18 jul, 00:14, Tony wrote:
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:
> On 16 jul, 23:20, Tony wrote:
> > 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.

> 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- Ocultar texto de la cita -

- Mostrar texto de 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
Respuesta Responder a este mensaje
#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
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida