如何获得一个范围内的范围值

所以我需要从工作表中提取信息只有一定的价值。 从大约550行减less到50,遍布整个表格。

所以我用autofilter。 现在我只能看到符合我的标准的行,但我怎样才能得到特定范围的值?

我到此为止:

我知道我必须使用

RangeINamed.SpecialCells(xlCellTypeVisible) 

只与可见信息一起工作。 它起到了起始和最后一行的作用

 startRow = bulkbatchRange.SpecialCells(xlCellTypeVisible).row endRow = startRow + bulkbatchRange.SpecialCells(xlCellTypeVisible).rows.Count 

但是现在我需要获取特定列的值,我想使用For循环,这样我就可以遍历所有可见的行。

所以我试着去做

 RangeINamed.SpecialCells(xlCellTypeVisible).range("U" & rowNumber).value 

这没有用,它没有给我什么。 现在我相当无知,所以有人可能知道我如何获得RangeINamed列U中该行的值?

谢谢

你可以随时检索像U10这样的特定单元格的值:

 Range("U10").Value 

该行是否隐藏。

编辑#1

下面是一个循环往下AutoFiltered表A列的小例子。 它查找第三个可见行( 不包括标题行 ):

 Sub GoDownFilter() Dim rLook As Range, r As Range Set rLook = Intersect(ActiveSheet.UsedRange, Range("A:A").Cells.SpecialCells(xlCellTypeVisible)) rLook.Select K = 0 For Each r In rLook If K = 3 Then r.Select MsgBox "The third visible row has been selected" Exit Sub End If K = K + 1 Next r End Sub 

我认为你需要select是否要获得特定的单元格,例如:

Range("U10").Value

或者使用类似的相对单元格

 RangeINamed.SpecialCells(xlCellTypeVisible)(2,3).Value 

要么

 RangeINamed.SpecialCells(xlCellTypeVisible)(2,3).Address 'To see if you are getting it right 

编辑:

一个完整的代码来过滤和迭代。

 Sub Filter() Dim tableRange As Range, var, actualRow As Integer, lastRow As Integer Set tableRange = Range("PUT_THE_TABLE_RANGE_HERE") ' Filter With tableRange Call .AutoFilter(5, "SPECIFIC_FILTER") End With Set f = tableRange.SpecialCells(xlCellTypeVisible) With tableRange Call .AutoFilter(5) End With For Each var In f.Cells.Rows actualRow = var.Row If actualRow <> 1 Then ' Do something End If Next End Sub