2012-09-30 33 views
14

Estoy tratando de recorrer un table que tiene un column para "customers" and "dollar amount". Si mi loop encuentra un customer llamado "greg" or "henry", quiero agregar su "dollar amount" a una matriz de un tamaño desconocido.agregando valores a la matriz variable VBA

¿Alguien puede ayudarme?

Respuesta

21

Si por tamaño desconocido, quiere decir que se desconoce la cantidad de elementos, puede usar una matriz dinámica.

Dim aArray() As Single ' or whatever data type you wish to use 
ReDim aArray(1 To 1) As Single 
If strFirstName = "henry" Then 
    aArray(UBound(aArray)) = 123.45 
    ReDim Preserve aArray(1 To UBound(aArray) + 1) As Single 
End If 

Ubound (aMatriz) emite un error si la matriz no se ha dimensionado, por lo que empezar por agregar un elemento a la misma. Eso nos deja con un elemento vacío al final del texto, por lo que su código debería dar cuenta de eso. aArray (Ubound (aArray) -1) le dará el último elemento válido en la matriz.

+0

Muchas gracias !!!! –

+0

Eres bienvenido. –

0
Private Sub ArrayMy(DataRange) 
    Dim DataIndex() As String 
    i = 0 
    On Error Resume Next 
    ReDim DataIndex(0) 
    For Each c In DataRange 
     DataIndex(i) = c 
     i = i + 1 
     ReDim Preserve DataIndex(i) 
    Next 
End Sub 
Cuestiones relacionadas