Divisione dello schermo in modo non uniforme tra due cartelle di lavoro (Microsoft Excel)
Spesso quando Dave ha due cartelle di lavoro aperte, usa Arrange | Orizzontale per visualizzarli contemporaneamente. Questo divide lo spazio in modo uniforme tra le due cartelle di lavoro. Tuttavia, capita spesso che Dave desideri vedere solo poche righe di dati in una cartella di lavoro e molte righe nell’altra. Si chiede se esiste un modo conveniente per ridimensionare manualmente la cartella di lavoro più piccola e fare in modo che Excel riempia lo spazio rimanente sullo schermo con la seconda cartella di lavoro.
Il modo manuale per farlo è quello con cui Dave (e la maggior parte degli altri utenti di Excel) hanno già familiarità: disponi le finestre orizzontalmente, ridimensiona la finestra superiore e poi ridimensiona la finestra inferiore. In questo modo le finestre saranno esattamente come le desideri per svolgere il tuo lavoro.
Se desideri un modo più automatico per ridimensionare le finestre, potresti utilizzare una macro per eseguire l’operazione. La seguente macro si basa su di te per ridimensionare la prima finestra nel modo desiderato e quindi ridimensiona automaticamente la seconda finestra per occupare lo spazio rimanente sotto la finestra superiore.
Sub UnevenSplit1() Dim Ht0 As Single Dim Ht1 As Single Dim Ht2 As Single Dim Top2 As Single If Windows.Count = 2 Then With Windows(1) Ht1 = .Height .WindowState = xlMaximized Ht0 = .Height End With Top2 = Ht1 + 3 Windows.Arrange ArrangeStyle:=xlHorizontal With Windows(1) .Top = 1 .Height = Ht1 End With With Windows(2) .Top = Top2 .Height = Ht0 - Ht1 - 22 End With Windows(1).Activate End If End Sub
La macro ridimensionerà le finestre della cartella di lavoro solo se sono aperte solo due cartelle di lavoro. Se ne hai più o meno, sembrerà che non succeda nulla.
Puoi fare un altro passo dell’automazione facendo ridimensionare la macro anche nella finestra superiore. L’esempio seguente finisce con la tua finestra superiore che occupa il 25% dello schermo e la finestra inferiore che occupa il 75%.
Sub UnevenSplit() Dim Ht1 As Single Dim Ht2 As Single Dim Ht1a As Single Dim Ht2a As Single Dim Top2 As Single If Windows.Count = 2 Then Windows.Arrange ArrangeStyle:=xlHorizontal Ht1 = Windows(1).Height Ht2 = Windows(2).Height Ht1a = Ht1 / 2 Top2 = Ht1a + 3 Ht2a = Ht2 + Ht1a With Windows(1) .Top = 1 .Height = Ht1a End With With Windows(2) .Top = Top2 .Height = Ht2a End With Windows(1).Activate End If End Sub
Dovresti anche essere consapevole che il valore di questa macro dipende, in gran parte, da ciò che hai visibile nelle tue finestre. Se i nastri sono alla loro profondità verticale completa, occupa molto spazio sullo schermo. In effetti, potrebbe essere necessario così tanto che anche se la finestra superiore occupa il 25% dell’altezza dello schermo, potrebbe non mostrare alcuna riga del foglio di lavoro perché lo spazio è occupato dalla barra multifunzione e da altri elementi dell’interfaccia.
Ci sono due possibili soluzioni. Il primo è ridurre al minimo gli elementi dello schermo, come il nastro. (Fare doppio clic su qualsiasi scheda della barra multifunzione per ridurre a icona la barra multifunzione.) L’altra soluzione, ovviamente, è fare in modo che la macro utilizzi calcoli diversi per determinare le dimensioni finali delle finestre. (Le altezze finali della finestra sono nelle variabili Ht1a e Ht2a.)
_Nota: _
Se desideri sapere come utilizzare le macro descritte in questa pagina (o in qualsiasi altra pagina dei siti ExcelTips), ho preparato una pagina speciale che include informazioni utili.
ExcelTips è la tua fonte di formazione economica su Microsoft Excel.
Questo suggerimento (13380) si applica a Microsoft Excel 2007, 2010, 2013, 2016, 2019 e Excel in Office 365.