我正在尝试遍历table
具有column
for的 a "customers" and "dollar amount"
。如果我的循环找到一个customer
被调用的"greg" or "henry"
,我想将他添加"dollar amount"
到一个未知大小的数组中。
有人可以帮帮我吗?
如果未知大小,您的意思是元素数量未知,您可以使用动态数组。
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) 将为您提供数组中的最后一个有效元素。
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
我认为最好使用 listArray 对象:
Dim list, name as variant
Set list = CreateObject("System.Collections.Arraylist")
For i = 1 to Last then ''Loop in the range
If strName = "Henry" then
list.Add ValueToAdd ''add to the list
End if
Next
然后你可以在列表中循环
For Each name in List
Msgbox name
Next