Come congelare i riquadri con VBA in Excel (5 modi adatti)

  • Condividi Questo
Hugh West

In questo articolo, vi mostrerò come congelare i riquadri di un foglio di lavoro di Excel con Visual Basic of Applications (VBA). Spesso, mentre lavoriamo in Excel, abbiamo bisogno di congelare i riquadri del foglio di lavoro per comodità e per una migliore esperienza. Oggi imparerete come è possibile ottenere questo risultato con VBA .

Congelare i riquadri con VBA in Excel (visualizzazione rapida)

 Sub Freeze_Panes_Row_and_Column() Range("C4").Select ActiveWindow.FreezePanes = True End Sub 

Scarica il quaderno di esercizi

Scaricate questo quaderno di esercizi per esercitarvi durante la lettura di questo articolo.

VBA Blocca riquadri.xlsm

Introduzione ai riquadri di congelamento di Excel

In Microsoft Excel, congelare i riquadri significa congelare una riga o una colonna o entrambi in modo tale che, anche se si scende o si va a destra scorrendo la barra di scorrimento, quella riga o colonna sarà sempre visibile. Di solito si fa con le righe o le colonne che contengono le intestazioni dell'insieme di dati.

Per esempio, osservate il set di dati qui sotto. Qui abbiamo congelato il foglio di lavoro fino alla riga 3 ( Anni ) e la colonna B ( Nome dei prodotti ).

Quando scendiamo nel foglio di lavoro facendo scorrere la barra di scorrimento, scopriremo che le righe fino alla riga 3 sono sempre visibili.

Stesso discorso per la colonna B mentre scorriamo a destra.

Ora, per congelare manualmente i riquadri in un foglio di lavoro, selezionare la cella subito dopo la riga e la colonna (Cella C4 in questo esempio) e andare a Visualizza> Pannelli congelati> Pannelli congelati nella barra degli strumenti di Excel.

Per congelare solo la riga, selezionare l'intera riga e andare su Visualizza> Pannelli congelati> Pannelli congelati nella barra degli strumenti di Excel.

Allo stesso modo, per congelare solo la colonna, selezionare l'intera colonna e andare su Visualizza> Pannelli congelati> Pannelli congelati nella barra degli strumenti di Excel.

⧭ Note:

  • Selezionare Congelare la riga superiore per congelare solo la riga superiore.
  • Allo stesso modo, selezionare Congelare la prima colonna per congelare solo la prima colonna.

5 metodi per congelare i riquadri con VBA in Excel

Abbiamo imparato cosa significa congelare i riquadri in Excel e come realizzarlo manualmente. Passiamo ora alla discussione principale di oggi, ovvero come congelare i riquadri con VBA .

1. Congelare solo una riga con VBA in Excel

Prima di tutto, vediamo come si può congelare solo una riga con VBA .

Come già detto, per congelare solo una riga, bisogna prima selezionare l'intera riga sotto la riga da congelare (Riga 4 in questo esempio).

Poi si deve applicare il metodo Pannelli di congelamento comando.

Quindi il VBA codice sarà:

⧭ Codice VBA:

 Sub Freeze_Panes_Only_Row() Range("C4").EntireRow.Select ActiveWindow.FreezePanes = True Range("C4").Select End Sub 

⧭ Uscita:

Eseguite questo codice e troverete il foglio di lavoro attivo congelato fino alla riga 3 .

⧭ Note:

  • Qui abbiamo usato la cella C4 per selezionare qualsiasi cella della riga 4 del foglio di lavoro, selezionandolo in base alle proprie esigenze.
  • L'ultima riga del codice Intervallo("C4").Selezionare ha lo scopo di deselezionare l'intera riga 4 (Deselezionare una selezione significa selezionarne una nuova, poiché in Excel qualcosa deve rimanere selezionato). Se si desidera, è possibile omettere questa riga.

Per saperne di più: Come congelare la riga superiore in Excel (4 metodi semplici)

2. Congelare solo una colonna con VBA in Excel

Abbiamo visto come sia possibile congelare una riga con VBA Vediamo ora come congelare una colonna con VBA .

Come per la riga, per congelare solo una colonna, bisogna prima selezionare l'intera colonna fino alla colonna da congelare (Colonna C in questo esempio).

Poi si deve applicare il metodo Pannelli di congelamento comando.

Quindi il VBA codice sarà:

⧭ Codice VBA:

 Sub Freeze_Panes_Only_Column() Range("C4").EntireColumn.Select ActiveWindow.FreezePanes = True Range("C4").Select End Sub 

⧭ Uscita:

Eseguite questo codice e troverete il foglio di lavoro attivo congelato fino alla colonna C .

⧭ Note:

  • Qui abbiamo usato la cella C4 per selezionare qualsiasi cella della colonna C del foglio di lavoro, selezionandolo in base alle proprie esigenze.
  • L'ultima riga del codice Intervallo("C4").Selezionare ha lo scopo di deselezionare l'intera colonna C (Deselezionare una selezione significa selezionarne una nuova, poiché in Excel qualcosa deve rimanere selezionato). Se si desidera, è possibile omettere questa riga.

Per saperne di più: Come congelare 2 colonne in Excel (5 metodi)

3. Congelare sia la riga che la colonna con VBA in Excel

Abbiamo visto come congelare una riga e una colonna separatamente. Questa volta vediamo come congelare sia la riga che la colonna insieme.

Per congelare sia la riga che la colonna insieme, è necessario selezionare una cella sotto la riga da congelare e a destra della colonna da congelare (Cella C4 in questo esempio).

Poi si deve applicare il metodo Pannelli di congelamento comando.

Quindi il VBA codice sarà:

⧭ Codice VBA:

 Sub Freeze_Panes_Row_and_Column() Range("C4").Select ActiveWindow.FreezePanes = True End Sub 

⧭ Uscita:

Eseguite questo codice e troverete il foglio di lavoro attivo congelato fino alla riga 3 e la colonna C .

⧭ Note:

  • Qui abbiamo usato la cella C4 per selezionare una cella sotto la riga 3 e a destra alla colonna B . Questa è la cella C4 ... sceglietelo in base alle vostre esigenze.

Per saperne di più: Come congelare i riquadri selezionati in Excel (10 modi)

Letture simili:

  • Come congelare più riquadri in Excel (4 criteri)
  • Scorciatoie da tastiera per congelare i riquadri in Excel (3 scorciatoie)
  • Come congelare le prime 3 colonne in Excel (4 modi rapidi)

4. Sviluppare una forma utente per congelare i riquadri con VBA in Excel

Abbiamo visto come congelare una riga, una colonna o entrambe le righe e le colonne con VBA in un foglio di lavoro Excel.

Ora svilupperemo una Userform per riunire tutti i diversi compiti in un'unica interfaccia.

⧭ Procedura passo passo per lo sviluppo della forma utente:

⧪ Passo 1:

  • Stampa ALT+F11 sulla tastiera per aprire la finestra Visual Basic
  • Nel Visual Basic editor, andare a Inserire> UserForm per inserire un nuovo Modulo utente .

⧪ Passo 2:

  • Un nuovo Modulo utente chiamato UtenteForm1 sarà creato nella cartella VBA
  • A sinistra del Modulo utente , si otterrà un Cassetta degli attrezzi chiamato Controllo Passare il mouse sulla casella degli strumenti e cercare un elemento Casella di testo (TextBox1) Dopo averne trovato uno, trascinarlo sulla parte superiore del file Modulo utente .
  • Allo stesso modo, trascinare un ListBox ( ListBox1 ) fino al Casella di testo , e un Pulsante di comando (Pulsante di comando1) nell'angolo in basso a destra del Modulo utente Modificare la visualizzazione del display Pulsante di comando a OK . Modulo utente dovrebbe ora apparire come segue:

⧪ Passo 3:

Inserire un Modulo ( Inserire> Modulo ) dal VBA cassetta degli attrezzi

⧪ Passo 4:

Inserire quanto segue VBA nel codice Modulo .

 Sub Run_UserForm() UserForm1.Caption = "Congelare i riquadri" UserForm1.TextBox1.Text = Selection.Address UserForm1.TextBox1.BorderStyle = fmBorderStyleSingle UserForm1.ListBox1.BorderStyle = fmBorderStyleSingle UserForm1.ListBox1.ListStyle = fmListStyleOption UserForm1.ListBox1.AddItem "1. Congelare riga" UserForm1.ListBox1.AddItem "2. Congelare colonna" UserForm1.ListBox1.AddItem "3. Congelare sia riga che colonna"Carica UserForm1 UserForm1.Show Fine Sub 

⧪ Passo 5:

Fare doppio clic sul pulsante Pulsante di comando visualizzato come OK . Una sub privata chiamata Pulsante di comando1_Clicca Si aprirà il seguente codice. Inserite il seguente codice:

 Se UserForm1.ListBox1.Selected(0) = True Allora imposta Rng = Selection Rng.EntireRow.Select ActiveWindow.FreezePanes = True Rng.Select Se UserForm1.ListBox1.Selected(1) = True Allora imposta Rng = Selection Rng.EntireColumn.Select ActiveWindow.FreezePanes = True Rng.Select Se UserForm1.ListBox1.Selected(2) = True AlloraActiveWindow.FreezePanes = True Else MsgBox "Select At least one. ", vbExclamation End If Unload UserForm1 

⧪ Passo 6:

Allo stesso modo, fate doppio clic sulla voce Casella di testo1 . Una sub privata chiamata TextBox1_Change Si aprirà il seguente codice. Inserite il seguente codice.

 Private Sub TextBox1_Change() On Error GoTo Message Range(TextBox1.Text).Select Message: Note = 5 End Sub 

⧪ Passo 7:

Il tuo Modulo utente Selezionare la cella sotto la riga da congelare e a destra della colonna da congelare (Cella C4 qui), ed eseguire il programma Macro chiamato Esegui_Form_Utente .

⧪ Passo 8:

  • Il Modulo utente Verrà caricato l'indirizzo della cella selezionata ( C4 ) nel Casella di testo Se si vuole, si può cambiare.
  • Quindi selezionare una delle tre opzioni disponibili nella finestra di dialogo ListBox Qui voglio congelare sia la riga che la colonna, quindi ho selezionato Congelare sia la riga che la colonna .
  • Quindi fare clic su OK .

⧪ Passo 9:

Troverete il foglio di lavoro congelato secondo il vostro desiderio (qui congelato fino alla riga 3 e la colonna B ).

Contenuti correlati: Come bloccare il fotogramma in Excel (6 trucchi rapidi)

5. Alternativa ai riquadri di congelamento in Excel: dividere la finestra con VBA

Abbiamo parlato molto del congelare i pannelli in Excel. Vediamo ora un'alternativa molto utile al metodo congelare i pannelli in Excel, la voce Finestra divisa comando.

È possibile ActiveWindow.SplitRow o ActiveWindow.SplitColumn in VBA per dividere il foglio di lavoro in righe o colonne.

Ad esempio, per dividere il foglio di lavoro dalla riga 3 , utilizzare:

 ActiveWindow.SplitRow = 3 

Allo stesso modo, per dividere il foglio di lavoro dalla colonna B , utilizzare:

 ActiveWindow.SplitColumn = 2 

⧭ Codice VBA:

 Sub Split_Window() ActiveWindow.SplitRow = 3 ActiveWindow.SplitColumn = 2 End Sub 

⧭ Uscita:

Eseguite il codice, che dividerà il foglio di lavoro attivo dalla riga 3 e la colonna B .

Contenuto correlato: Come applicare i riquadri di congelamento personalizzati in Excel (3 modi semplici)

Cose da ricordare

  • Prima di applicare Pannelli di congelamento in Excel, è necessario Scongelare tutti i riquadri di congelamento Altrimenti, l'opzione Pannelli di congelamento non funzionerà.
  • Il Pannelli di congelamento non funzionerà attraverso il comando unito cellule. Quindi disimparare prima di applicare il Pannelli di congelamento se c'è.

Conclusione

Ecco i metodi da utilizzare Pannelli di congelamento con VBA in Excel. Ho cercato di discutere tutti i modi possibili di applicare Pannelli di congelamento su un foglio di lavoro in Excel. Avete domande? Non esitate a chiedercele. E non dimenticate di visitare il nostro sito ExcelWIKI per ulteriori post e aggiornamenti.

Hugh West è un istruttore e analista di Excel di grande esperienza con oltre 10 anni di esperienza nel settore. Ha conseguito una laurea in Contabilità e Finanza e un Master in Economia Aziendale. Hugh ha una passione per l'insegnamento e ha sviluppato un approccio didattico unico che è facile da seguire e capire. La sua conoscenza approfondita di Excel ha aiutato migliaia di studenti e professionisti in tutto il mondo a migliorare le proprie competenze ed eccellere nella propria carriera. Attraverso il suo blog, Hugh condivide le sue conoscenze con il mondo, offrendo esercitazioni gratuite su Excel e formazione online per aiutare le persone e le aziende a raggiungere il loro pieno potenziale.