He utilizado el siguiente código VBA:¿Cuál es la diferencia entre el vacío y = IsEmpty() en VBA (Excel)?
Do While .Cell(i,1) <> Empty
' doing things
i = i+1
Loop
para iterar a través de columnas (con valores Doble/entero) en Excel. Entonces me encontré con un caso en el que la prueba se evalúa como falsa siempre que el valor de la celda es 0. No tengo idea de cuál es la diferencia entre este caso y los que trabajan.
Si cambio el examen para:
Do While Not IsEmpty(.Cell(i,1))
..
Loop
que trabaja muy bien. Entonces mi pregunta es: ¿Cuál es la diferencia entre cómo se evalúa IsEmpty() y = Empty? ¿En qué casos will = Empty evalúa a True para celdas con valor 0?
'Range ("A2") = 0''? Range ("A2") = Empty' '' true'? IsEmpty (Range ("A2")) '' False' Me gustaría ver un caso donde un valor de celda de 0 '= Empty' devuelve False! –
Tienes razón. Ahora veo que la serie que vi antes no contiene ceros (simplemente asumí que sí), por lo que el comportamiento es consistente. – Christian