Validacion de Array Vacio

08/10/2003 - 16:31 por Rene Moreno | Informe spam
Buen día grupo.

Como puedo saber si un array tiene valores asignados,
es decir, si solo esta declarado pero sin valores.

Dim miarray()
If micondicion = True Then
Redim miarray(1)
...
...
En IF

'en esta parte si no se asigno nada a miarray
'marca un error de índices, como puedo
'validar antes de entrar a este ciclo

For i = 0 to Ubound(miarray)
'n operaciones
Next

Gracias adelantadas.
Atentamente
Rene Moreno
"Ser conciente de la propia ignorancia
es un gran paso hacia el saber"
 

Leer las respuestas

#1 Fernando Arroyo
08/10/2003 - 17:42 | Informe spam
Yo he usado alguna vez el siguiente "truco": Len(Join(miarray)) devuelve 0 (cero) si la matriz miarray se ha inicializado pero aún no se ha dimensionado, y 1 o más si se ha dimensionado y/o "llenado". En tu caso, podría ser algo como:

If Len(Join(miarray)) > 0 Then
For i = 0 To UBound(miarray)
'n operaciones
Next
End If

Los problemas son que miarray no puede ser una matriz multidimensional, y que si la matriz fuera muy grande, la función Join podría "tomarse su tiempo". En ambos casos, otras posibilidades podrían ser usar una variable auxiliar de tipo booleano para controlar si la matriz se ha dimensionado, o recurrir a una captura de errores.
Un saludo.


Fernando Arroyo
MS MVP - Excel


"Rene Moreno" escribió en el mensaje news:
Buen día grupo.

Como puedo saber si un array tiene valores asignados,
es decir, si solo esta declarado pero sin valores.

Dim miarray()
If micondicion = True Then
Redim miarray(1)
...
...
En IF

'en esta parte si no se asigno nada a miarray
'marca un error de índices, como puedo
'validar antes de entrar a este ciclo

For i = 0 to Ubound(miarray)
'n operaciones
Next

Gracias adelantadas.
Atentamente
Rene Moreno
"Ser conciente de la propia ignorancia
es un gran paso hacia el saber"


Preguntas similares