Прескочи на основното съдържание

Как да поддържам прозореца на Excel винаги отгоре?

Автор: Xiaoyang Последна промяна: 2016-02-01

Искали ли сте някога вашите прозорци на Excel да са винаги отгоре и да не се покриват от други прозорци? За съжаление, Excel не предоставя функция за решаване на тази задача. Но тук мога да ви дам VBA код, за да се справите с тази работа.

Поддържайте прозореца на Excel винаги отгоре с VBA код


стрелка син десен балон Поддържайте прозореца на Excel винаги отгоре с VBA код

Следният VBA код може да ви помогне да поддържате прозореца на Excel винаги отгоре, кодът се прилага както за 32-битов, така и за 64-битов офис.

1. Задръжте натиснат ALT + F11 за да отворите Прозорец на Microsoft Visual Basic за приложения.

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 ключ за изпълнение на този код и a Макроси ще се появи диалогов прозорец, изберете SetXLOnTop и щракнете върху бягане бутон.

doc-keep-excel-on-top-1

4. И тогава вашият прозорец на Excel винаги ще бъде над другите приложения.

Забележка: Ако искате да върнете прозореца на Excel към нормалното, просто натиснете F5 ключ за отваряне на Макроси диалогов прозорец, изберете SetXNormal и кликнете бягане.

Най-добрите инструменти за продуктивност в офиса

🤖 Kutools AI помощник: Революционизирайте анализа на данни въз основа на: Интелигентно изпълнение   |  Генериране на код  |  Създаване на персонализирани формули  |  Анализирайте данни и генерирайте диаграми  |  Извикване на функциите на Kutools...
Популярни функции: Намерете, маркирайте или идентифицирайте дубликати   |  Изтриване на празни редове   |  Комбинирайте колони или клетки без загуба на данни   |   Кръг без формула ...
Супер търсене: VLookup с множество критерии    VLookup с множество стойности  |   VLookup в няколко листа   |   Размито търсене ....
Разширен падащ списък: Бързо създаване на падащ списък   |  Зависим падащ списък   |  Падащ списък с множество избори ....
Мениджър на колони: Добавете конкретен брой колони  |  Преместване на колони  |  Превключване на състоянието на видимост на скритите колони  |  Сравнете диапазони и колони ...
Препоръчани функции: Мрежов фокус   |  Изглед на дизайна   |   Голям формула бар    Мениджър на работни книги и листове   |  Библиотека с ресурси (Автоматичен текст)   |  Избор на дата   |  Комбинирайте работни листове   |  Шифроване/декриптиране на клетки    Изпращайте имейли по списък   |  Супер филтър   |   Специален филтър (филтър получер/курсив/зачертано...) ...
Топ 15 комплекта инструменти12 Текст Инструменти (добавяне на текст, Премахване на символи, ...)   |   50 + Графика Видове (диаграма на Гант, ...)   |   40+ Практичен формули (Изчислете възрастта въз основа на рождения ден, ...)   |   19 вмъкване Инструменти (Въведете QR код, Вмъкване на картина от пътя, ...)   |   12 Конверсия Инструменти (Числа към думи, Валутен обмен, ...)   |   7 Обединяване и разделяне Инструменти (Разширено комбиниране на редове, Разделени клетки, ...)   |   ... и още

Усъвършенствайте уменията си за Excel с Kutools за Excel и изпитайте ефективност, както никога досега. Kutools за Excel предлага над 300 разширени функции за повишаване на производителността и спестяване на време.  Щракнете тук, за да получите функцията, от която се нуждаете най-много...

Описание


Раздел Office Внася интерфейс с раздели в Office и прави работата ви много по-лесна

  • Разрешете редактиране и четене с раздели в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
  • Отваряйте и създавайте множество документи в нови раздели на един и същ прозорец, а не в нови прозорци.
  • Увеличава вашата производителност с 50% и намалява стотици кликвания на мишката за вас всеки ден!
Comments (12)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Hey thanks was finding this for years.
This comment was minimized by the moderator on the site
awesome!!!!!!
This comment was minimized by the moderator on the site
awesome!!!!!!
This comment was minimized by the moderator on the site
Does this code have to be applied to each excel file separately or can the macro be saved within excel to be toggled on/ off whenever a new Excel workbook is open?
This comment was minimized by the moderator on the site
Hello

It seems that xHwnd defined to store Application.hWnd before calling SetWindowPos as below:

xHwnd = Application.hWnd
Call SetWindowPos(xHwnd, xStype, 0, 0, 0, 0, SWP_NOSIZE Or SWP_NOMOVE)

Thanks
This comment was minimized by the moderator on the site
Absolute genius. Exactly what I needed. Thanks!!!
This comment was minimized by the moderator on the site
Thanks so much for this! I needed to keep my automated system stats sheet up at all times while I did other things based on what it was showing me. Very helpfull! :D
This comment was minimized by the moderator on the site
Thanks .. God Bless..!
This comment was minimized by the moderator on the site
Thanks for this. Very helpful when transposing data from multiple systems onto a spread sheet. Appreciate the code!
This comment was minimized by the moderator on the site
Thanks for the help!!! I had to use this as a workaround because you cant have two workpages open at the same time. Appreciate you sharing your code :)
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations