我目前正在研究VBA中的搜索功能,它将从搜索范围中获取结果,并将单元格位置的地址输入到数组中。
我尝试使用以下代码设置数组。
Dim FindRange1 as Range
Dim Find1 as Range
Dim Results1() as Variant
Dim R1 as integer
Dim Max as integer
Max = Range("E7:E1000").Cells.Count
Set FindRange1 = Worksheets("Properties").Range("P7:P1000")
If ILsearch.P1B1.Value = True Then
For R1 = 1 To Max
For Each Find1 In FindRange1
If (Find1.Value < TextBox1) And (Find1.Value > "0") Then
Results1(R1) = Find1.Address
End If
Next Find1
Next R1
End If
答案 0 :(得分:2)
您需要确定数组的尺寸;
redim Results1(Max) '//this will leave an empty Results1(0)
最好使用0索引;
redim Results1(Max-1)
...
Results1(R1 - 1) = Find1.Address
请注意,这是创建一个带有“gap”的数组,其中只填充符合条件的索引。