VBA Excel: seleziona intera riga o colonna 

 Dicembre 29, 2019

By  Damiano Causale

  • Home
  • Blog
  • VBA Excel: seleziona intera riga o colonna

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:

excel macro | visual basic excel | selezionare intera riga

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:

macro in excel | gestione errori excel | vba excel basic

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:

microsoft visual basic | vba excel esempi | messaggio di errore

La seconda istruzione è la seguente:

vba excel macro | offset (funzione scarto in inglese)

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.

vba excel macro | offset (funzione scarto in inglese)

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.

creare macro excel vba | offset (funzione scarto in inglese)

Mentre nel secondo esempio uno spostamento di una colonna verso sinistra.

vba excel macro | offset (funzione scarto in inglese)

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:

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!

Damiano Causale


Mi chiamo Damiano Causale, istruttore Microsoft certificato, per lavoro aiuto aziende e privati nell'utilizzo di Excel.

Damiano Causale

Your email address will not be published. Required fields are marked

  1. 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

    1. 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

{"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}