You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 18:35:49