Range Excel VBA: selezionare celle con VBA 

 Novembre 14, 2019

By  Damiano Causale

  • Home
  • Blog
  • Range Excel VBA: selezionare celle con VBA

Scopri come selezionare celle con il VBA Excel!

In questo articolo ti mostrerò come utilizzare l’oggetto Range Excel VBA  per selezionare celle. Impara a selezionare celle con il VBA Excel!

L'oggetto Range rappresenta uno degli oggetti più importanti in VBA Excel. Esso può rappresentare una singola cella, un intervallo di celle o tutte le celle presenti all'interno di un foglio di lavoro.

Come tutti gli oggetti presenti in VBA Excel, anche l’oggetto Range ha diversi metodi e proprietà. Le proprietà descrivono l'oggetto, mentre i metodi eseguono un'azione con un oggetto.

Il linguaggio VBA ovvero il linguaggio delle macro Excel, ti consente per eseguire delle azioni o modificare le proprietà degli oggetti.

Attraverso dei semplici esempi ti mostrerò come utilizzare l’oggetto Range per selezionare una singola cella, un intervallo di celle o tutte le celle presenti all'interno di un foglio di lavoro.

Partiamo aprendo l’Editor VB. Utilizza i tasti rapidi ALT + F11.

range excel vba

Una volta aperto l’Editor. Inserisci un modulo standard.

range excel vba

Digita la parola Sub seguita dal nome della macro Excel. Successivamente premi il tasto INVIO.

range excel vba

Range Excel VBA: selezionare una singola cella con il VBA

Per selezionare una singola cella in un foglio di lavoro puoi usare il metodo Select.

Il codice seguente ti consente di selezionare la cella A2 nel foglio di lavoro attivo.

range excel vba

Dopo che esegui la macro  il risultato sarà il seguente:

range excel vba

Range Excel VBA: selezionare un intervallo di celle contigue con il VBA

Per selezionare un intervallo di celle contigue all’interno di un foglio di lavoro puoi usare il seguente codice:

range excel vba

Attraverso il metodo Select dell’oggetto Range potrai selezionare l’intervallo A2:A10.

Dopo che esegui la macro  il risultato sarà il seguente:

range excel vba

Range Excel VBA: selezionare un intervallo di celle non contigue con il VBA

Per selezionare celle non contigue puoi utilizzare il seguente codice.

range excel vba

In VBA è necessario separare le celle una virgola. Il codice ti permetterà di selezionare le celle A2, C2 e E2.

Dopo che esegui la macro  il risultato sarà il seguente:

range excel vba

Per selezionare intervalli di celle non contigui puoi utilizzare il seguente codice.

range excel vba

Dopo che esegui la macro  il codice selezionerà gli intervalli A2:A10 e C2:C10.

range excel vba

Range Excel VBA: selezionare la regione corrente con il VBA

Puoi utilizzare la proprietà CurrentRegion dell’oggetto Range per selezionare un intervallo di celle vuote e non vuote attorno a una specifica cella di input.

Se, ad esempio, hai il seguente intervallo di dati:

range excel vba

Il seguente codice seleziona la regione di celle intorno alla cella A2.

range excel vba

Dopo che esegui la macro  il risultato sarà la selezione dell’intervallo A2:C5.

Range Excel VBA: selezionare un intervallo denominato in Excel con il VBA

Attraverso il linguaggio VBA puoi anche selezionare intervalli denominati. Supponiamo di avere assegnato il nome Intestazioni all’intervallo di celle A1:D4.

Puoi utilizzare il seguente codice per selezionare l’intervallo denominato Intestazioni.

range excel vba

Dopo che esegui la macro  il risultato sarà il seguente:

range excel vba

Selezionare tulle le celle in un foglio di lavoro con il VBA

Infine, per selezionare tutte le celle in un foglio di lavoro puoi usare il seguente codice.

range excel vba

Dopo che esegui la macro il risultato sarà il seguente:

range excel vba

Attraverso questo codice VBA sarai in grado di selezionare rapidamente tutte le celle in un foglio di lavoro.

A differenza dei codici VBA Excel visti in precedenza, non viene utilizzato l’oggetto Range ma l’oggetto Cells.

Ciascuno dei codici presenti in quest’articolo dovrà essere inserito all'interno delle tue macro Excel: tra la parola Sub ed End Sub.

Guarda il video per capire come selezionare le celle utilizzando il linguaggio della macro: il VBA Excel.

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. Buongiorno,
    ho visto il tuo sito ed è molto interessante.

    Sto cercando di fare una macro dove faccio verifico se in una determinata cella c'è una cifra (2019) in caso contrario elimino la riga intera per poi automizzare il tutto per tutte le righe della tabella.

    Ho provato la seguente macro ma non funziona.

    Sub eliminaRiga()
    Dim i As Integer
    For i = 2 To 10000
    Range("J" & i).Select
    If Range("J" & i) = 2019 Then Selection.EntireRow.Delete

    Next i

    End Sub

    Mi puo indicare dove sbaglio

    1. Ciao Nathan,
      ti suggerisco questa soluzione:

      Sub eliminaRiga()
      Dim i As Integer
      For i = 10000 To 2 Step -1
      Range("J" & i).Select
      If IsNumeric(Range("J" & i).Value) Then Selection.EntireRow.Delete
      Next i
      End Sub

      Dimmi se funziona. Attendo un tuo riscontro
      Saluti
      Damiano

  2. Sig. Damiano buongiorno, quando ho bisogno seguo sempre i suoi insegnamenti, ma ora ho un problemino che non riesco ad uscirne.
    Premetto che sul VBA sono proprio un principiante, se faccio qualcosa lo faccio perché copio sul WEB.
    Dunque ho 4 colonne la A dove ci sono le date la B la C e la D dove ci sono commenti, a forza di mettere dati non so quanto lunghe diventano queste colonne, con una macro vorrei spostare le ultime righe riferite al mese di dicembre, cancellare quelle sovrastanti e riposizionare le righe precedentemente spostate.
    E' una richiesta stupida o si può fare ?
    La ringrazio fin da subito
    Alessandro

  3. Buongiorno,
    sono alle prime armi e sto cercando di imparare VBA e trovo il suo lavoro estremamente chiaro e utile.
    Una domanda: se volessi inserire le celle da selezionare di volta in volta come input all'oggetto Range come potrei fare?
    Vorrei avere in sostanze la possibilità di chiedere all'utente cosa vuole selezionare e poi procedere tramite la macro.
    Spero di essermi spiegato chiaramente.
    E' possibile realizzare quello che chiedo con VBA?
    C'è un articolo in cui spiega come procedere?
    Grazie
    Buona Giornata
    F.Goia

    1. Buongiorno,
      grazie per apprezzare il mio lavoro. Al momento non è disponibile alcun articolo però posso suggeristi il seguente codice che ti consentirà di mostrare una finestra di dialogo per inserire un numero all'interno della cella attiva.

      Sub InputBox_Type_1()
      Dim Dati As Variant
      Dati = Application.InputBox("Inserire un numero", "InputBox - Tipo 1", Type:=1)
      ActiveCell.Value = Dati
      End Sub

      Se vuoi padroneggiare il linguaggio VBA ti suggerisco il seguente corso:
      https://area51.excelpertutti.com/corso-macro-excel-e-vba/

      Saluti
      Damiano

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