Eliminare inavvertitamente i riquadri congelati (Microsoft Excel)
Steven ha un foglio di lavoro con molte righe e colonne di dati. Ha congelato la prima riga e colonna rendendo attiva la cella B2 e quindi congelando i riquadri. Funziona come vuole lui. Può persino salvare e chiudere la cartella di lavoro e i riquadri sono ancora bloccati quando riapre la cartella di lavoro.
Tuttavia, se Steven apre una nuova finestra per la cartella di lavoro (Visualizza | Finestra | Nuova finestra), la nuova finestra non ha riquadri bloccati. Poiché ha congelato i riquadri su molti fogli di lavoro in questa cartella di lavoro, deve stare molto attento a quale finestra chiude per prima. Se chiude prima la finestra originale, quando salva la cartella di lavoro salva tutti i fogli di lavoro non congelati.
Steven si chiede se c’è un modo per fare in modo che la nuova finestra mantenga le impostazioni dei riquadri congelati?
Non esiste alcuna impostazione in Excel che gestisca ciò che deve accadere a Steven. Il motivo per cui i riquadri congelati non vengono salvati è perché FreezePanes (insieme a Zoom, Dividi e poche altre impostazioni) sono proprietà delle finestre, non dei fogli di lavoro o delle cartelle di lavoro. Quando viene creata una nuova finestra, le proprietà non vengono ereditate dalla finestra originale.
Puoi, tuttavia, aggirare questo comportamento (e risolvere il problema di Steven)
utilizzando una macro per eseguire la configurazione per te. Un approccio molto breve consiste nel rinunciare all’utilizzo degli strumenti della barra multifunzione per creare la nuova finestra. Invece, aggiungi questa macro alla QAT e usala per creare la finestra:
Sub CreateNewWindow1() Dim rPane As Range Set rPane = ActiveWindow.VisibleRange(1) ActiveWindow.NewWindow ActiveSheet.Range("B2").Select ActiveWindow.FreezePanes = True End Sub
La macro crea una nuova finestra, imposta le celle visibili uguali a quanto mostrato nella finestra originale, seleziona la cella B2 nella nuova finestra, quindi congela i riquadri.
Questo semplice approccio potrebbe non funzionare, tuttavia, se le tue esigenze di “congelamento del riquadro” sono più varie. Ad esempio, potresti voler creare una nuova finestra e farla corrispondere a tutti i riquadri nella finestra che era attiva quando hai creato la nuova finestra.
La macro seguente controlla se la finestra corrente ha un riquadro fozen. Se lo fa, allora scopre dove è bloccato e lo usa per impostare i riquadri congelati in una nuova finestra. Se non sono presenti riquadri bloccati, viene comunque creata una nuova finestra e non viene bloccato nulla. In entrambi i casi, nella nuova finestra viene selezionata la stessa cella selezionata nell’originale.
Sub CreateNewWindow2() Dim iRow As Integer Dim iCol As Integer Dim rOldPos As Range iRow = 0 iCol = 0 If ActiveWindow.FreezePanes Then iRow = ActiveWindow.ScrollRow iCol = ActiveWindow.ScrollColumn End If Set rOldPos = ActiveCell ActiveWindow.NewWindow If (iRow > 0) And (iCol > 0) Then Cells(iRow, iCol).Select ActiveWindow.FreezePanes = True End If rOldPos.Select End Sub
Questo codice, ancora una volta, potrebbe essere utilizzato per creare tutte le nuove finestre che desideri.
Realizzano ciò che Steven aveva bisogno di fare perché copiano le impostazioni del riquadro congelato dalla finestra attiva alla finestra appena creata.
_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 (13366) si applica a Microsoft Excel 2007, 2010, 2013, 2016, 2019 e Excel in Office 365.