如何使用IF
语句遍历工作表,并将每个TRUE
附加到数组?
基本示例,如果Cells(y, 1).Value
大于0,则将1追加到数组中,并在给定范围内这样做,以创建具有多个值1的数组(给定多个Cells(y,1)。Value(s)为大于0)。
这是我之前创建循环的方式。
For y = 2 To LastRow
On Error Resume Next
If Cells(y, 1).Value > 0 Then
Cells(y, 2).Value = 1 ' Instead of populating Cells(y,2) with "1" IF true, I want to append the value to an array
ElseIf Cells(y, 1).Value = 0 > 0 Then
Cells(y, 2).Value = 2
Else
Cells(y, 2).Value = 0
End If
Next y
您必须先为数组标注维数
Dim myArray() as Integer
并且在循环中,跟踪数组将包含的元素数量
Dim myCount as Integer
然后在循环中,您必须递增此计数器并重新排列数组,以便可以对其进行添加
If Cells(y, 1).Value > 0 Then
myCount=myCount+1
Redim Preserve myArray(1 to myCount)
myArray(myCount)=1
Preserve
保留字很重要,因为它可以防止在向数组添加项目时重新初始化数组的内容。