In questo articolo ti mostrerò come selezionare l'intera riga o colonna con il VBA in Excel. Scopri come selezionare l'intera riga o colonna in modo dinamico con il VBA.
In un precedente articolo ti ho mostrato come selezionare le righe e colonne con il VBA in modo statico. Ora ti mostrerò come farlo in modo dinamico ovvero senza la necessità di specificare la riga o la colonna all'interno del codice VBA.
Grazie all'istruzione ActiveCell non dovrai indicare all'interno del tuo codice VBA la riga o la colonna da selezionare. Excel farà riferimento alla cella attiva ovvero alla cella che hai selezionato.
Potrai utilizzare i seguenti codici nelle tue macro Excel.
Iniziamo con la selezione delle righe.
Codice VBA Excel per selezionare intere righe
Il seguente codice VBA ti consente di selezionare un’intera riga.
Sub Selezionare_Intera_Riga()
ActiveCell.EntireRow.Select End Sub |
Il cuore del codice è rappresentato dalla seguente istruzione:
Per facilitare la lettura ti consiglio di leggere il codice partendo dalla destra.
Ora sarai in grado di capire meglio l’istruzione VBA. Il tutto si traduce nel modo seguente: seleziona l’intera riga sulla base della cella attiva ovvero rispetto alla cella selezionata.
Le istruzioni seguenti ti consentono invece di selezionare l’intera riga, in basso o in alto, rispetto alla cella attiva.
Sub Selezionare_Intera_Riga_Basso()
On Error Resume Next ActiveCell.EntireRow.Offset(1, 0).Select End Sub |
Sub Selezionare_Intera_Riga_Alto()
On Error Resume Next ActiveCell.EntireRow.Offset(-1, 0).Select End Sub |
Rispetto ai codici VBA precedenti troverai alcune ulteriori istruzioni.
La prima istruzione è la seguente:
Si tratta di un codice da utilizzare per la gestione degli errori.
L’uso dell’istruzione On Error all’interno del codice VBA ti consente di aggirare i messaggi di errore di Excel.
Nello specifico, con l’istruzione On Error Resume Next vengono semplicemente ignorati tutti gli errori e il VBA riprende l’esecuzione con la dichiarazione successiva.
La gestione degli errori è necessaria al fine di evitare di visualizzare un messaggio di errore nel caso ti trovassi nella prima o nell’ultima cella. In questi casi non è possibile selezionare la riga precedente o la riga successiva. Pertanto senza l’istruzione On Error Resume Next verrebbe mostrato il seguente messaggio di errore:
La seconda istruzione è la seguente:
Si tratta della funzione SCARTO che in VBA è nota come Offset.
Nel primo caso (Offset(1, 0)) avremo lo spostamento di una riga verso il basso. Mentre nel secondo caso (Offset(-1, 0)) uno spostamento di una riga verso l’alto.
Passiamo ora alla selezione delle colonne.
Istruzioni VBA per selezionare intere colonne
Sulla base delle indicazioni precedenti ti sarà semplice capire le seguenti istruzioni.
Sub Selezionare_Intera_Colonna()
ActiveCell.EntireColumn.Select End Sub |
L’istruzione che segue è utile per selezionare l’intera colonna a destra rispetto alla cella attiva.
Sub Selezionare_Intera_Colonna_Destra()
On Error Resume Next ActiveCell.EntireColumn.Offset(0, 1).Select End Sub |
La seguente istruzione ti permette invece di selezionare l’intera colonna a sinistra rispetto alla cella attiva.
Sub Selezionare_Intera_Colonna_Sinistra()
On Error Resume Next ActiveCell.EntireColumn.Offset(0, -1).Select End Sub |
Infine mi soffermo ancora una volta sull’istruzione Offset.
Nel primo esempio avremo lo spostamento della selezione di una colonna verso destra.
Mentre nel secondo esempio uno spostamento di una colonna verso sinistra.
Potrai utilizzare i codici VBA precedenti associandoli ciascuno a un pulsante per automatizzare le tue attività.
Vuoi saperne di più sulle macro Excel e sul VBA?
Leggi i seguenti articoli:
- Scrivere una Macro Excel VBA in 6 semplici passaggi
- Macro Excel: eseguire una macro Excel
- Macro Excel: come utilizzare il registratore di macro
- Macro Excel: cos’è e a cosa serve
- Macro Excel: assegnare macro a un pulsante
- With VBA Excel: l’istruzione With nelle macro Excel
- Macro Excel: riferimenti relativi e assoluti
- Excel VBA: selezionare righe e colonne
- Range Excel VBA: come selezionare celle con il VBA Excel
- VBA Excel: tasti rapidi macro Excel
- VBA Excel: come padroneggiare le macro
- VBA Excel: cos’è il modello a oggetti VBA
- VBA Excel: riferimento agli oggetti VBA
Vuoi imparare a utilizzare il linguaggio Excel VBA?
Basta con i lavori noiosi e ripetitivi! Grazie al VBA puoi far lavorare Excel al tuo posto!
Ho registrato per te un corso interamente dedicato alle Macro e al VBA.
Attraverso degli esempi pratici, ti introdurrò, al mondo delle Macro di Excel illustrandoti tutto il potenziale per automatizzare le tue attività di lavoro quotidiane.
Cosa aspetti?
Sfrutta tutto il potenziale di Excel con il corso Macro e VBA!
Salve, pur essendo semplice la spiegazione che dai forse mi è sfuggito qualche passo
va bene che seleziono una intera riga con macro abbinata al tasto ma desidererei invece
che selezionando la cella mi selezioni tutta la riga senza clikkare sul tasto avvia macro. Cos'altro aggiungere
activecell.EntireRow.select
Grazie
Salve Giorgio,
è possibile utilizzare il seguente codice:
ActiveCell.EntireRow.Select
All'interno di un modulo di foglio con un evento.
Ecco il codice da copiare ed incollare all'interno del modulo di foglio:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
ActiveCell.EntireRow.Select
End Sub