如何用VBA获取Excel工作表当前屏幕顶端可见行
获取Excel屏幕顶端显示行的VBA实现
要获取当前Excel窗口屏幕最顶端显示的行号,可根据是否有冻结窗格的场景,使用以下两种VBA方案:
方案1:包含冻结窗格的屏幕顶端行
如果需要获取包含固定冻结行在内的屏幕最顶端行(比如冻结首行后,屏幕顶端始终是第1行,此方法返回1),使用VisibleRange对象:
Sub GetTopVisibleRowIncludingFrozen() Dim topRow As Long ' 获取当前窗口可见区域的首行行号 topRow = ActiveWindow.VisibleRange.Row MsgBox "屏幕顶端行号:" & topRow End Sub
方案2:排除冻结窗格的滚动区域顶端行
如果需要获取用户滚动后显示的顶端行(排除固定冻结的行,比如冻结前2行后,滚动到第30行,此方法返回30),使用ScrollRow属性:
Sub GetScrollTopRow() Dim scrollTopRow As Long ' 获取窗口滚动到的顶端行号 scrollTopRow = ActiveWindow.ScrollRow MsgBox "滚动区域顶端行号:" & scrollTopRow End Sub
说明
VisibleRange:代表当前窗口中所有可见的单元格区域,其Row属性为该区域的起始行号,包含冻结的固定行。ScrollRow:直接返回窗口滚动位置对应的行号,仅针对可滚动区域,不包含冻结的固定行。
内容的提问来源于stack exchange,提问作者mohsyn
相关产品推荐
相关产品推荐

