How to keep excel window always on top?
Have you ever wished that keep your Excel windows always on top and don’t be covered by other windows? Unfortunately, Excel doesn’t provide a feature for solving this task. But, here, I can give you a VBA code to deal with this job.
The following VBA code can help you to keep the Excel window always on top, the code is applied to both office 32-bit and office 64-bit.
1. Hold down the ALT + F11 keys to open the Microsoft Visual Basic for Applications window.
2. Click Insert > Module, and paste the following code in the Module Window.
VBA code: Keep Excel window always on top
'Update 20140909 #If Win64 Then Public Declare PtrSafe Function SetWindowPos _ Lib "user32" ( _ ByVal hwnd As LongPtr, _ ByVal hwndInsertAfter As LongPtr, _ ByVal x As Long, ByVal y As Long, _ ByVal cx As Long, ByVal cy As Long, _ ByVal wFlags As Long) _ As Long #Else Public Declare Function SetWindowPos _ Lib "user32" ( _ ByVal hwnd As Long, _ ByVal hwndInsertAfter As Long, _ ByVal x As Long, ByVal y As Long, _ ByVal cx As Long, ByVal cy As Long, _ ByVal wFlags As Long) _ As Long #End If Public Const SWP_NOSIZE = &H1 Public Const SWP_NOMOVE = &H2 Public Const HWND_TOPMOST = -1 Public Const HWND_NOTOPMOST = -2 Sub ShowXLOnTop(ByVal OnTop As Boolean) Dim xStype As Long #If Win64 Then Dim xHwnd As LongPtr #Else Dim xHwnd As Long #End If If OnTop Then xStype = HWND_TOPMOST Else xStype = HWND_NOTOPMOST End If Call SetWindowPos(Application.hwnd, xStype, 0, 0, 0, 0, SWP_NOSIZE Or SWP_NOMOVE) End Sub Sub SetXLOnTop() ShowXLOnTop True End Sub Sub SetXLNormal() ShowXLOnTop False End Sub
3. Then press F5 key to run this code, and a Macros dialog box will appear, select SetXLOnTop option, and click Run button.
4. And then your Excel window will be always on top of other applications.
Note: If you want to return the Excel window to normal, just press F5 key to open the Macros dialog, choose SetXNormal and click Run.