如何获得一个范围内的范围值
所以我需要从工作表中提取信息只有一定的价值。 从大约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