excel中利用VBA將指定的單元格定位于屏幕中央
excel中利用VBA將指定的單元格定位于屏幕中央
如果工作表中的單元格都具有相同的行高和列寬,我們可以用VBA的方法將給定的單元格和區域定位于屏幕中央,下面是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小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。