|
楼主 |
发表于 2020-2-6 20:44
|
显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件 ★ 免费下载 ★ ★ 使用帮助★
本帖最后由 OKJSJSF 于 2020-2-7 14:15 编辑
文摘:Sub CenterOnCell(OnCell As Range)
Dim VisRows As Integer
Dim VisCols As Integer
OnCell.Parent.Parent.Activate ' 激活区域所在的工作簿和工作表
OnCell.Parent.Activate
With ActiveWindow.VisibleRange
VisRows = .Rows.count ' 获取活动窗口的可视行数和列数
VisCols = .Columns.count
End With
With Application
.Goto reference:=OnCell.Parent.Cells(.WorksheetFunction.Max(1, OnCell.Row + (OnCell.Rows.count / 2) - (VisRows / 2)), .WorksheetFunction.Max(1, OnCell.Column + (OnCell.Columns.count / 2) - .WorksheetFunction.RoundDown((VisCols / 2), 0))), Scroll:=True
End With ' 确定参考单元格并用GOTO方法将该单元格定位到屏幕左上角。' 该参考单元格用给定的单元格的行数和列数分别减去可视行数和可视列数除以2来确定。' 用MAX函数确保参考单元格的最小行数和列数为1。其实用不到 .top 了
x1 = ActiveWindow.ScrollRow
x2 = Range("a1:a" & x1).Height
这个x2就 OK了
|
|