你最好直接與陣列更好的工作:
Option Explicit
Sub main()
Dim dataArr As Variant
Dim nFounds As Long, iArr As Long
Dim myVal As Variant
myVal = Range("E1").Value '<--| set "E1" to your actual "another cell" address
With Worksheets("data") '<--| change "data" to your actual worksheet name
dataArr = .Range("C1", .Cells(.Rows.Count, 1).End(xlUp)).Value
End With
ReDim array1(1 To UBound(dataArr)) As Variant, array2(1 To UBound(dataArr)) As Variant
For iArr = 1 To UBound(dataArr)
If dataArr(iArr, 1) = myVal Then
array1(nFounds + 1) = dataArr(iArr, 2)
array2(nFounds + 1) = dataArr(iArr, 3)
nFounds = nFounds + 1
End If
Next
If nFounds > 0 Then ReDim Preserve array1(1 To nFounds) As Variant, array2(1 To nFounds) As Variant
End Sub
什麼是nFounds變量?順便說一句,它給運行時1004錯誤。 – vbalearner
'nFounds'計算數組列1中匹配的數量。BTW:哪一行拋出錯誤? – user3598756
@vbalearner,你通過它嗎? – user3598756