Funciones con array

12/12/2006 - 15:41 por TST | Informe spam
Hola a todos,
tengo un problema al trabajar con Arrays

Quiero almacenar en un array todos los valores de una columna q estoy
leyendo.
Antes de inserir un valor quiero comprobar q no existe ya en el arry.

Algo del tipo:

If (valore) Not In MyArray
MyArray.AddElement(valore)

Pero en VB!!!!

Alguien me puede ayudar?

Y una pregunta, es mejor (mas facil/mas funciones) trabajar con Array,
con Variant, con collection??????

Gracias por adelantado!!!!!!!!!

TST.

Preguntas similare

Leer las respuestas

#1 Ivan
12/12/2006 - 18:04 | Informe spam
hola TST, podrias hacer algo parecido a esto

suponiendo por ej, que la hoja se llama "Hoja1" y los datos a cargar
estan en la columna 'a'

sub cargarArray()
dim celda as range, x as long, yaEsta as boolean
If CBool(Not Not MyMatriz) = False then redim MyMatriz(0)
with worksheets("Hoja1")
for each celda in .range("a1:a" & .[a65536].end(xlup).row)
yaEsta=false
for x = 1 to ubound(MyMatriz)
if MyMatriz(x)=celda then
yaEsta=true: exit for
end if
next
if yaEsta = false then
redim preserve MyMatriz(ubound(MyMatriz)+1)
MyMatriz(ubound(MyMatriz)=celda
end if
next
end with
end sub

no estoy del todo seguro, pero creo que funcionaria.

espero que te sirva
un saludo y hasta pronto

Ivan
Respuesta Responder a este mensaje
#2 Ivan
12/12/2006 - 18:45 | Informe spam
perdon, me he comido un parentesis -> esto->

-> MyMatriz(ubound(MyMatriz)=celda

cambialo por esto

-> MyMatriz(ubound(MyMatriz))=celda


asi funciona perfectamente (aunque seguro que hay opciones mejores)

PD-> por cierto, la matriz he supuesto que era publica (ya la tienes
declarada). Si no es asi tendrias que declararla al principio del
procedimiento, mas o menos as ->

-> dim MyMatriz() As Variant

un saludo
Ivan
Respuesta Responder a este mensaje
#3 TST
13/12/2006 - 15:29 | Informe spam
Hola Ivan!!!!

muchas gracias por tu respuesta!!!! has resuelto mi problema!!!

Saludos!!!
TST

Ivan ha scritto:

perdon, me he comido un parentesis -> esto->

-> MyMatriz(ubound(MyMatriz)=celda

cambialo por esto

-> MyMatriz(ubound(MyMatriz))=celda


asi funciona perfectamente (aunque seguro que hay opciones mejores)

PD-> por cierto, la matriz he supuesto que era publica (ya la tienes
declarada). Si no es asi tendrias que declararla al principio del
procedimiento, mas o menos as ->

-> dim MyMatriz() As Variant

un saludo
Ivan
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida