Note: The other languages of the website are Google-translated. Back to English

如何使Excel窗口始終位於最前面?

您是否曾經希望將Excel窗口始終放在頂部,而不會被其他窗口覆蓋? 不幸的是,Excel沒有提供解決此任務的功能。 但是,在這裡,我可以給您一個VBA代碼來處理此工作。

使用VBA代碼使Excel窗口始終位於最前面


箭頭藍色右氣泡 使用VBA代碼使Excel窗口始終位於最前面

下面的VBA代碼可以幫助您始終將Excel窗口保持在頂部,該代碼適用於Office 32位和Office 64位。

1。 按住 ALT + F11 鍵打開 Microsoft Visual Basic for Applications窗口.

2。 點擊 插入 > 模塊,然後將以下代碼粘貼到 模塊窗口.

VBA代碼:始終將Excel窗口置於頂部

'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。 然後按 F5 運行此代碼的關鍵,以及 出現對話框,選擇 設置XLOnTop 選項,然後單擊 按鈕。

文檔保持 excel-on-top-1

4. 然後,您的Excel窗口將始終位於其他應用程序的頂部。

備註:如果要使Excel窗口恢復正常,只需按 F5 鍵打開 對話框中,選擇 設置X正常 並點擊 .


最佳辦公效率工具

Kutools for Excel 解決了你的大部分問題,並將你的生產力提高了 80%

  • 重用: 快速插入 複雜的公式,圖表 以及您以前使用過的任何東西; 加密單元 帶密碼 創建郵件列表 並發送電子郵件...
  • 超級公式欄 (輕鬆編輯多行文本和公式); 閱讀版式 (輕鬆讀取和編輯大量單元格); 粘貼到過濾範圍...
  • 合併單元格/行/列 不會丟失數據; 拆分單元格內容; 合併重複的行/列...防止細胞重複; 比較範圍...
  • 選擇重複或唯一 行; 選擇空白行 (所有單元格都是空的); 超級查找和模糊查找 在許多工作簿中; 隨機選擇...
  • 確切的副本 多個單元格,無需更改公式參考; 自動創建參考 到多張紙; 插入項目符號,複選框等...
  • 提取文字,添加文本,按位置刪除, 刪除空間; 創建和打印分頁小計; 在單元格內容和註釋之間轉換...
  • 超級濾鏡 (將過濾方案保存並應用於其他工作表); 高級排序 按月/週/日,頻率及更多; 特殊過濾器 用粗體,斜體...
  • 結合工作簿和工作表; 根據關鍵列合併表; 將數據分割成多個工作表; 批量轉換xls,xlsx和PDF...
  • 超過 300 項強大的功能. 支持 Office / Excel 2007-2021 和 365。支持所有語言。 在您的企業或組織中輕鬆部署。 完整功能 30 天免費試用。 60 天退款保證。
kte選項卡201905

Office選項卡為Office帶來了選項卡式界面,使您的工作更加輕鬆

  • 在Word,Excel,PowerPoint中啟用選項卡式編輯和閱讀,發布者,Access,Visio和Project。
  • 在同一窗口的新選項卡中而不是在新窗口中打開並創建多個文檔。
  • 將您的工作效率提高 50%,每天為您減少數百次鼠標點擊!
officetab底部
按評論排序
留言 (12)
還沒有評分。 成為第一位評論!
網站主持人對此評論進行了最小化
感謝您提供此代碼! 很有幫助。 我一直在使用 Judy 十鍵來實現此功能,但現在我可以使用 excel。 太棒了,謝謝你!!
網站主持人對此評論進行了最小化
喜歡這個!! 很棒的代碼。 謝謝! 我是一個初級程序員,我幾乎不知道它是做什麼的。 如果我希望窗口跳轉到某個大小、隱藏功能區和/或跳轉到某個工作表或單元格範圍,我應該在哪裡更改代碼?
網站主持人對此評論進行了最小化
謝謝您的幫助!!! 我不得不將其用作解決方法,因為您不能同時打開兩個工作頁。 感謝您分享您的代碼:)
網站主持人對此評論進行了最小化
謝謝你。 在將來自多個系統的數據轉換到電子表格時非常有用。 欣賞代碼!
網站主持人對此評論進行了最小化
謝謝..上帝保佑..!
網站主持人對此評論進行了最小化
非常感謝! 當我根據它向我顯示的內容做其他事情時,我需要始終保持我的自動化系統統計數據表。 非常有幫助! :D
網站主持人對此評論進行了最小化
絕對的天才。 正是我需要的。 謝謝!!!
網站主持人對此評論進行了最小化
你好

似乎 xHwnd 在調用 SetWindowPos 之前定義為存儲 Application.hWnd,如下所示:

xHwnd = 應用程序.hWnd
調用 SetWindowPos(xHwnd, xStype, 0, 0, 0, 0, SWP_NOSIZE 或 SWP_NOMOVE)

謝謝
網站主持人對此評論進行了最小化
此代碼是否必須單獨應用於每個 excel 文件,或者是否可以將宏保存在 excel 中以便在打開新的 Excel 工作簿時打開/關閉?
網站主持人對此評論進行了最小化
太棒了!!!!!!
網站主持人對此評論進行了最小化
太棒了!!!!!!
網站主持人對此評論進行了最小化
嘿,謝謝多年來一直在尋找這個。
這裡還沒有評論
留下你的意見
以訪客身份發帖
×
評價此帖子:
0   字符
推薦地點

關注我們

版權所有©2009 - 萬維網。extendoffice.com。 | 版權所有。 供電 ExtendOffice。 |
Microsoft和Office徽標是Microsoft Corporation在美國和/或其他國家的商標或註冊商標。
受Sectigo SSL保護