2012-09-30 73 views
14

我通過table具有用於"customers" and "dollar amount"一個column試圖循環。如果我的循環找到customer調用"greg" or "henry"我想將他的"dollar amount"添加到未知大小的數組中。添加值以可變陣列VBA

有人可以幫我嗎?

回答

21

如果來自未知大小,意味着元素的數量未知,則可以使用動態數組。

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)將引發錯誤,因此我們首先向其添加元素。這使我們在文本的末尾留下了一個空的元素,所以你的代碼應該考慮到這一點。 aArray(Ubound(aArray)-1)會給你數組中最後一個有效的元素。

+0

非常感謝你!!!! –

+0

非常歡迎。 –

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