将行返回到定义的范围之下

是否有快速的方法来返回定义的范围之外的下一行的范围。 我的想法是一个抵消是最好的,但我很努力地find如何最终的行范围可以抓住之前应用的偏移量。

例如,说我的范围定义为苹果是A1:B100,我如何定义P作为我的最后一行范围:

p = Range("Apple"). [last row range function] 在使用requiredrow = p.offset(1,0)之前p = Range("Apple"). [last row range function]

你使用这个:

 p = Range("Apple").Row + Range("Apple").Rows.Count 

Range("Apple").Row返回第一个行号和Range("Apple").Rows.Count增加计数。

如果你想把p设置为直接在同一列下面的行的范围,那么:

 Dim p As Range Dim ws As Worksheet Set ws = Sheets(Mid(Range("Apple").Name, 2, InStr(Range("Apple").Name, "!") - 2)) With ws Set p = .Range(.Cells(Range("Apple").Row + Range("Apple").Rows.Count, Range("Apple").Column), .Cells(Range("Apple").Row + Range("Apple").Rows.Count, Range("Apple").Column + Range("Apple").Columns.Count - 1)) End With Debug.Print p.Address(0, 0) 

您仍然可以使用“ Offset ”和“ Resize

 Dim p As Range With Range("Apple") Set p = .Resize(1).Offset(.Rows.Count) End With Debug.Print p.Address(0, 0)