2017-08-24 71 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