Excel - Subir una fila hacia arriba

 
Vista:

Subir una fila hacia arriba

Publicado por CyRuS (33 intervenciones) el 13/07/2009 11:43:35
Hola,
tengo un For en el que quiero que me busque las filas que están vacías y me las borre.

For Each cell In Range("A10:A1500")
If cell = "" Then
cell.EntireRow.Delete
cell.Offset(-1)
End If
Next

El problema está cuando hay más de una fila vacía seguida. Ya que me borra la primera que encuentra, pero la segunda se la salta y sigue por la tercera.
Para solucionarlo puse la sentencia Cell.Offset(-1) y todas las variantes posibles pero siempre me da error.

¿qué error tengo?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Subir una fila hacia arriba

Publicado por frany (58 intervenciones) el 15/07/2009 21:44:18
Prueba con las modificaciones que te pongo.
El error te lo da puesto que estas eliminando un elemento del rango.
Posiblemente se puede solucionar de otra forma, pero lo que se me ha ocurrido es la siguiente.

Prueba con las modificaciones que te pongo.Está comentado para mayor facilidad,
Un saludo.

Sub borrar()

Dim valor(1 To 10) ' definimos variable para contabilizar celdas vacias

'hacemos bucle inicial para buscar valores
For Each cell In Range("A1:A10")
fila = fila + 1
If cell = "" Then

valor(fila) = 1 ' establecemos valor 1 como flag para borrar posteriormente


End If

Next

'PASAMOS A BORRAR
For i = 1 To fila

If valor(i) = 1 Then
Cells(i - de, 1).EntireRow.Delete 'decrementamos las filas borradas

de = de + 1 ' Contador para tener en cuenta borrado filas

End If

Next i

End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Subir una fila hacia arriba

Publicado por CyRuS (33 intervenciones) el 16/07/2009 15:52:56
gracias frany
muy currado el asunto.
sin embargo, ya lo he solucionado de una manera muy sencilla:

Range("A10:A1500").SpecialCells(xlCellTypeBlanks).EntireRow.Delete

gracias por todo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Subir una fila hacia arriba

Publicado por frany (58 intervenciones) el 16/07/2009 19:37:22
No dije que fuera la unica manera, fué la solucion que pude hacer.
La tuya me la apuntaré jajaja.
Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Subir una fila hacia arriba

Publicado por anonimo (69 intervenciones) el 18/07/2009 06:33:21
en realidad te lo resolvieron:

http://foros.emagister.com/tema-subir_una_fila_hacia_arriba_offse-12890-880302-1.htm
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Subir una fila hacia arriba

Publicado por CyRuS (33 intervenciones) el 18/07/2009 12:46:25
claro.
por eso he hecho esta pregunta. porque no sabia responderla
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de JuanC

RE:Subir una fila hacia arriba

Publicado por JuanC (1237 intervenciones) el 18/07/2009 15:37:36
no te fíes 100% de SpecialCells ...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar