2011-02-02 13 views

Respuesta

7

Sí, hacen lo mismo.

Sin embargo, le aconsejaría que utilice la función IsEmpty para comprobar si hay celdas vacías. Si ingresa una sola cotización en una celda ', tanto la verificación len como la verificación ="" indicarán que la celda está vacía. Cuando en realidad no lo es.

IsEmpty devolverá falso en este escenario.

Y también es un poco más fácil de leer.

+0

Gracias por el consejo, eso es bueno saberlo. Aunque fuera del alcance de mi pregunta, solo se debe tener precaución cuando se usa la función Trim y, por lo tanto, se evalúa el valor de la celda como una cadena, IsEmpty no funcionará. – strcompnice

1

Estoy seguro de que su afirmación es verdadera. Lo he estado utilizando durante bastante tiempo y nunca tuve un problema con esa suposición

Mis dos centavos: no estoy seguro de que obtenga mucho rendimiento del truco, y tal vez sea más fácil para otras personas entender el significado de cell.Value = "" que Len(cell.Value) = 0

+0

Creo que tienes razón. Evalué dos celdas 500000 veces con un ciclo, y cell.Value = "" tardó 48 segundos, mientras que Len (cell.Value) = 0 tardó 49 segundos. – strcompnice

+2

Creo que la falta de diferencia se debe en gran medida a que el tiempo para leer el valor de la celda es mucho mayor que el tiempo necesario para hacer la comparación/verificación de longitud ... si comprueba con variables de cadena, debería ver que usando 'Len () = 0 'es en realidad alrededor del doble de la velocidad de' = "" '. –

+0

Buen punto Simon. Evalué cinco cadenas, cuatro de ellas de 10-15 caracteres de longitud y una vacía, 50000000 veces, y los tiempos de ejecución fueron 26 segundos para string = "" y 17 segundos para Len (cadena) = 0. – strcompnice

Cuestiones relacionadas