2012-09-30 19 views
14

Sto tentando di eseguire il ciclo di un table che ha un column per "customers" and "dollar amount". Se il mio loop trova un numero customer chiamato "greg" or "henry", desidero aggiungere il suo "dollar amount" a un array di una dimensione sconosciuta.aggiunta di valori all'array variabile VBA

Qualcuno può aiutarmi?

risposta

21

Se per dimensione sconosciuta, si intende che il numero di elementi è sconosciuto, è possibile utilizzare un array dinamico.

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 (aArray) genera un errore se la matrice non è stata dimensionata, in modo da avviare l'aggiunta di un elemento ad esso. Questo ci lascia con un elemento vuoto alla fine del testo, quindi il tuo codice dovrebbe renderlo conto. aArray (Ubound (aArray) -1) ti darà l'ultimo elemento valido nell'array.

+0

Grazie mille !!!! –

+0

Sei il benvenuto. –

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 
Problemi correlati