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