大家也许都知道Excel工作表中数据行数较多,使用<Ctrl+下箭头>组合键可以快速定位最后一行,但是如果数据不是连续的(也就是工作表中包含空行),这个方式就只能定位到当前连续数据区域的最后一行。
如下实例代码可以将最后一行数据显示在当前窗口中。
Sub GetVisibleRange()
Dim lngLastData As Long
Dim lngVisRow As Long
With ActiveWindow
lngVisRow = .VisibleRange.Rows.Count
lngLastData = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
.ScrollRow = lngLastData - lngVisRow + 2
End With
End Sub
【代码解析】
第5行代码获取Excel当前窗口中显示区域的行数,注意这个行数和用户能够看到的数据行并不一定一致,例如下图中只能显示前11行,如果仔细看的话,第12行的顶部也显示出来了,那么此时lngVisRow的值为12。
第6行代码获取A列最后数据单元格的行号。
第7行代码设置活动窗口显示的首行行号,此处加入偏移量2是为了确保最后一行数据可以现在在当前窗口中。