Come mantenere la finestra di Excel sempre in primo piano?
Ti è mai capitato di trovare fastidioso quando la finestra di Excel continua a nascondersi dietro altre applicazioni mentre esegui multitasking? Molti utenti spesso desiderano che la finestra della cartella di lavoro Excel rimanga in primo piano in modo da poter fare riferimento o inserire dati in Excel mentre lavorano con altri programmi, come quando si trasferiscono manualmente numeri da un browser o da un'altra app desktop. Questa funzionalità è particolarmente utile per gli utenti che lavorano con monitor duali, fanno presentazioni o passano frequentemente da Excel ad altri software.
Sfortunatamente, Microsoft Excel non offre nativamente un'impostazione o un'opzione integrata che permetta di mantenere la finestra di Excel sempre in primo piano rispetto ad altre finestre. Bloccare direttamente Excel sopra tutte le altre finestre aperte non è supportato tramite la sua interfaccia standard, indipendentemente dalla versione o dal fatto che si utilizzi Office a 32 bit o 64 bit. Tuttavia, esiste una soluzione alternativa per ottenere questa funzionalità. Di seguito, troverai un metodo basato su codice VBA adatto a una gamma di scenari d'uso.
Mantieni la finestra di Excel sempre in primo piano con il codice VBA
Mantieni la finestra di Excel sempre in primo piano con il codice VBA
Questa soluzione basata su codice VBA ti consente di mantenere la tua finestra di Excel attiva bloccata sopra tutte le altre finestre, garantendo che sia sempre visibile e non venga sovrapposta da altre finestre di applicazioni. Che tu stia utilizzando una versione a 32 bit o 64 bit di Office, lo script VBA fornito di seguito funziona per entrambe le versioni. Questo approccio è particolarmente adatto agli utenti avanzati di Excel o a quelli che operano in ambienti in cui non è consentito installare ulteriori software.
Prima di procedere, salva il tuo lavoro, poiché errori imprevisti o riavvii di Excel possono occasionalmente verificarsi durante l'esecuzione delle macro. Inoltre, tieni presente che questa soluzione influisce solo sulla finestra di Excel in cui esegui la macro; altre istanze non rimarranno automaticamente in primo piano.
1. Tieni premuti i tasti ALT + F11 sulla tastiera per avviare la finestra dell'editor di Microsoft Visual Basic for Applications. Questo è l'ambiente in cui puoi inserire e gestire il codice VBA per le tue cartelle di lavoro Excel.
2. Nell'editor VBA, clicca su Inserisci > Modulo per aggiungere un nuovo modulo alla tua cartella di lavoro. Successivamente, copia e incolla il seguente codice VBA nella finestra del Modulo aperta:
Codice VBA: Mantieni la finestra di Excel sempre in primo piano
'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
Questo codice utilizza chiamate API a livello di sistema per controllare lo stato di blocco della finestra. Assicurati che le macro siano abilitate nelle impostazioni di Excel affinché il codice VBA funzioni correttamente. Se ricevi un messaggio "Le macro sono disabilitate", potrebbe essere necessario aggiornare le impostazioni del Centro protezione di Excel per consentire l'esecuzione delle macro.
3. Dopo aver inserito il codice, premi F5 o clicca sul pulsante Esegui nell'editor VBA. Apparirà una finestra di dialogo Macro che elenca le macro disponibili. Seleziona la macro denominata SetXLOnTop e poi clicca su Esegui per eseguirla. Questo applicherà lo stato "sempre in primo piano" alla tua finestra di Excel corrente. Vedi l'illustrazione qui sotto:
4. Una volta che la macro finisce di eseguirsi, la tua finestra di Excel dovrebbe rimanere visibile sopra tutte le altre applicazioni aperte, rendendo molto più facile fare riferimento o inserire dati tra più programmi senza che la finestra di Excel venga nascosta.
Questa impostazione persiste fino a quando non la ripristini manualmente. Se riduci a icona e ripristini la finestra, lo stato "sempre in primo piano" viene generalmente conservato, ma chiudere e riaprire Excel richiederà di eseguire nuovamente la macro.
Nota: Se desideri ripristinare la tua finestra di Excel alla normalità in modo che non sia più sempre in primo piano, ripeti il processo di attivazione: premi F5 per aprire la finestra di dialogo Macro, scegli la macro SetXNormal e clicca su Esegui. La tua finestra di Excel tornerà quindi a comportarsi normalmente.
Suggerimenti per la risoluzione dei problemi: Se ricevi un errore durante l'esecuzione della macro, ricontrolla le impostazioni di sicurezza delle macro e assicurati che tutto il codice della macro sia incollato correttamente. Alcuni ambienti aziendali possono limitare determinate operazioni di gestione delle finestre, quindi consulta l'IT se il metodo non funziona come previsto. Inoltre, assicurati di eseguire Excel come utente standard; l'esecuzione come amministratore generalmente non è richiesta per questa attività.
Questa soluzione VBA è ideale se non vuoi installare software di terze parti e sei a tuo agio con l'utilizzo delle funzioni di scripting integrate di Excel. Tuttavia, se hai bisogno frequentemente di bloccare finestre da più applicazioni, potresti preferire uno strumento dedicato alla gestione delle posizioni delle finestre.
I migliori strumenti per la produttività in Office
Migliora le tue competenze su Excel con Kutools per Excel e sperimenta un nuovo livello di efficienza. Kutools per Excel offre oltre300 funzionalità avanzate per aumentare la produttività e risparmiare tempo. Clicca qui per ottenere la funzione di cui hai più bisogno...
Office Tab porta l’interfaccia a schede su Office, rendendo il tuo lavoro molto più semplice
- Abilita la modifica a schede e la lettura in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Apri e crea più documenti in nuove schede della stessa finestra, invece che in nuove finestre.
- Aumenta la tua produttività del50% e ti fa risparmiare centinaia di clic ogni giorno!