我有这个代码来捕获过滤表中的行号,做一些事情,然后转到下一个可见行。我在第一行工作得很好。
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
当我将offset(1,0)更改为offset(2,0)时,它仍然返回第一个可见行的行号(在本例中为10)。我正在寻找一个VBA语句,它将返回下一个可见行的行号,并将该数字传递给rn变量。对于过滤范围,我正在测试下一行号是11,接下来的165,接下来的166等等。感谢您的时间。
答案 0 :(得分:1)
使用单元格循环的行号。
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