2012-09-30 13 views
14

Próbuję przejść przez kanał table, który ma column dla "customers" and "dollar amount". Jeśli moja pętla znajdzie numer customer o nazwie "greg" or "henry", chcę dodać jego "dollar amount" do tablicy o nieznanym rozmiarze.Dodawanie wartości do zmiennej tablicy VBA

Czy ktoś może mi pomóc?

Odpowiedz

21

Jeśli przez nieznany rozmiar masz na myśli, że liczba elementów jest nieznana, możesz użyć tablicy dynamicznej.

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) zgłasza błąd, jeśli tablica nie została wymiarowym, więc zaczynamy poprzez dodanie elementu do niego. Pozostawia nam to pusty element na końcu tekstu, więc twój kod powinien to wyjaśnić. aArray (Ubound (aArray) -1) da ci ostatni poprawny element w tablicy.

+0

Dziękuję bardzo! –

+0

Bardzo proszę. –

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 
Powiązane problemy