valores 0 (cero)

22/12/2004 - 04:02 por Gris | Informe spam
Que tal foro, espero me puedan ayudar como siempre:

tengo el siguiente codigo

for each c in range ("b:b")
if c="0" then _
c.entirerow.delete
next c

me elimina las filas con valores = 0 dentro de la columna b
pero si por alguna razon tengo dos celdas seguidas con
este valor solo me elimina la primera, es decir, me
elimina una si y una no, como puedo hacer para que sean
eliminadas todas sin saltarse ninguna ?

saludos
 

Leer las respuestas

#1 Héctor Miguel
22/12/2004 - 08:20 | Informe spam
hola, Gris !

... el siguiente codigo
for each c in range ("b:b")
if c="0" then c.entirerow.delete
next c
... elimina las filas con valores = 0 dentro de la columna b
pero si ... tengo dos celdas seguidas con este valor solo me elimina la primera [...]



la razon es que...
-> 'la estructura' [del bucle for...next] 'avanza' por el rango ['pero'...]
-> la celda que 'seguia' de la que se elimina... 'retrocede' [se convierte en 'chivo brincado']

para eliminar filas [generalmente] es preferible utilizar bucles 'en reversa' [p.e.]
for fila = 50 to 1 step -1
if range("b" & fila) = 0 then range("b" & fila).entirerow.delete
next

[o convertir a un rango no-contiguo las celdas con valor 0 y eliminar sus filas en un solo 'paso']
saludos,
hector.

Preguntas similares