2017-08-24 146 views
-1

我很努力地找到可以使用VBA返回excel列中多個匹配行數的公式。我想要存儲在列中找到與「267874」匹配的所有行的值。陣列應該存儲行號(7:9)在excel vba中返回多個匹配的數組

我使用電流式是 「COUNTIF」找到匹配 「循環」的數目COUNTIF值,並存儲在f匹配(ⅰ)

- Parent Child Row 
- 267873 265501 1 
- 267873 265501 2 
- 267873 265501 3 
- 267873 267879 4 
- 267873 267880 5 
- 267873 267877 6 
- 267874 265472 7 
- 267874 265472 8 
- 267874 265472 9 
+4

發佈您的代碼,所以我們可以幫助你。 –

+0

我沒有發佈它,因爲它無法正常工作。 – ShriCode

+2

就是這一點。發佈它,說出了什麼問題,然後我們會嘗試對其進行修改。 –

回答

0

試試這個:

Option Explicit 
Sub test() 
    Dim lRow As Long, iCell As Range, arrRow(), i As Long 
    Dim ws As Worksheet: Set ws = ThisWorkbook.Worksheets("YourSheetNameHere") 
    If ws.FilterMode Then ws.ShowAllData 
    lRow = ws.Range("A" & ws.Rows.Count).End(xlUp).Row 
    ReDim arrRow(lRow) 
    ws.Range("A5", "E" & lRow).AutoFilter Field:=2, Criteria1:="*Invalid*" 
    i = 0 
    For Each iCell In ws.Range("A6", "A" & lRow).SpecialCells(xlCellTypeVisible) 
     arrRow(i) = iCell.Row 
     i = i + 1 
    Next 
    ReDim Preserve arrRow(i - 1) 
End Sub 

前:
Before
後:
After
結果:
Result