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.
Una volta aperto l’Editor. Inserisci un modulo standard.
Digita la parola Sub seguita dal nome della macro Excel. Successivamente premi il tasto INVIO.
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.
Dopo che esegui la macro il risultato sarà il seguente:
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:
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: selezionare un intervallo di celle non contigue con il VBA
Per selezionare celle non contigue puoi utilizzare il seguente codice.
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:
Per selezionare intervalli di celle non contigui puoi utilizzare il seguente codice.
Dopo che esegui la macro il codice selezionerà gli intervalli A2:A10 e C2:C10.
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:
Il seguente codice seleziona la regione di celle intorno alla cella A2.
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.
Dopo che esegui la macro il risultato sarà il seguente:
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.
Dopo che esegui la macro il risultato sarà il seguente:
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.
Potrebbero interessarti anche 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!
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
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
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
Salve Alessandro,
si può fare ma richiede una trattazione più approfondita
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
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