2012-09-30 51 views
14

Tôi đang cố gắng lặp qua một số table có một số column cho "customers" and "dollar amount". Nếu vòng lặp của tôi tìm thấy số customer được gọi là "greg" or "henry" Tôi muốn thêm "dollar amount" của mình vào một mảng có kích thước không xác định.thêm giá trị vào mảng biến VBA

Ai đó có thể giúp tôi không?

Trả lời

21

Nếu theo kích thước không xác định, bạn có nghĩa là số phần tử không xác định, bạn có thể sử dụng mảng động.

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) ném lỗi nếu mảng chưa được định kích thước, vì vậy chúng tôi bắt đầu bằng cách thêm phần tử vào. Điều đó khiến chúng ta có phần tử trống ở cuối văn bản, vì vậy mã của bạn nên giải thích điều đó. aArray (Ubound (aArray) -1) sẽ cung cấp cho bạn phần tử hợp lệ cuối cùng trong mảng.

+0

Cảm ơn bạn rất nhiều !!!! –

+0

Bạn đang rất hoan nghênh. –

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 
Các vấn đề liên quan