2016-12-23 44 views
0

假設在另一個單元格中我有A.所以我想要的是將AI帶入array1 = Array(「0」,「80」)和array2 = Array( 「100」, 「240」)。但它必須返回數組1,數組2中的值相同的順序,也就是0,80,100,240VBA:數組從x到x的行

A 0 100 
B 25 75 
A 80 240 
B 30 90 

我在想用範圍的工作,例如,它會尋找到表例如2個第一列,然後如果A = A,那麼它將添加來自array1中匹配A的第二列中的所有值,然後添加匹配陣列2中A的第三列中的所有值。或者更好地處理細胞位置?

希望聽到你的消息。由於

回答

0

你最好直接與陣列更好的工作:

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 
+0

什麼是nFounds變量?順便說一句,它給運行時1004錯誤。 – vbalearner

+0

'nFounds'計算數組列1中匹配的數量。BTW:哪一行拋出錯誤? – user3598756

+0

@vbalearner,你通過它嗎? – user3598756