vba过滤行的行号

我有这个代码来捕获过滤表中的行号,做一些事情,然后转到下一个可见的行。 我工作很好,第一排。

Sub test() Dim rn As Long Dim cell As Range Dim rng As Range Set rng = Sheets("FabricatedParts").Range("A:A").SpecialCells(xlCellTypeVisible) rn = Sheets("FabricatedParts").UsedRange.Offset(1, 0).SpecialCells(xlCellTypeVisible).Row For Each cell In rng With ActiveSheet .Range("B14").Value = [Parts].Cells(rn, [Parts[Part.]].Column) End With 'rn = Next Visible Row #???.row Next cell End Sub 

当我改变偏移(1,0)偏移(2,0)它仍然返回第一个可见行(在这种情况下10)的行号。 我正在寻找一个VBA语句,将返回下一个可见行的行号,并将该号码传递给Rnvariables。 对于过滤的范围,我正在testing下一行数是11,下一个165,下一个166等。谢谢你的时间。

使用单元格循环的行号。

 Sub test() Dim rn As Long Dim cell As Range Dim rng As Range Set rng = Sheets("FabricatedParts").Range("A:A").SpecialCells(xlCellTypeVisible) For Each cell In rng rn = cell.row With ActiveSheet .Range("B14").Value = [Parts].Cells(rn, [Parts[Part.]].Column) End With Next cell End Sub