excel中利用VBA将指定的单元格定位于屏幕中央

网友投稿 1126 2022-12-03

excel中利用VBA将指定的单元格定位于屏幕中央

如果工作表中的单元格都具有相同的行高和列宽,我们可以用VBA的方法将给定的单元格和区域定位于屏幕中央,下面是VBA代码

excel中利用VBA将指定的单元格定位于屏幕中央

Sub CenterOnCell(OnCell As Range)Dim VisRows As IntegerDim VisCols As Integer‘关闭屏幕更新Application.ScreenUpdating = False‘激活区域所在的工作簿和工作表OnCell.Parent.Parent.ActivateOnCell.Parent.Activate‘获取活动窗口的可视行数和列数With ActiveWindow.VisibleRangeVisRows = .Rows.CountVisCols = .Columns.CountEnd With‘ 确定参考单元格并用GOTO方法将该单元格定位到屏幕左上角。‘ 该参考单元格用给定的单元格的行数和列数分别减去可视行数和可视列数除以2来确定。‘ 用MAX函数确保参考单元格的最小行数和列数为1。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:=TrueEnd With‘选择给定的单元格OnCell.Select‘启用屏幕更新Application.ScreenUpdating = TrueEnd Sub

假如给定的区域为M50:N51,可以在VBA中用下面的方法调用上述代码:

CenterOnCell Range("m50:n51")

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:EXCEL 公式 多列转成一行图解教程
下一篇:利用VBA实现Excel表格计算
相关文章