Che cosa è With VBA in Excel? In questo articolo ti parlerò dell'istruzione With VBA di Excel.
Spesso dopo aver registrato una macro Excel con il registratore di macro ti sarà capitato di osservare un codice VBA con una struttura simile.
Come puoi notare all’interno del codice si ripete spesso l’istruzione With … End With. Infatti, il registratore di macro usa l’istruzione With VBA ogni volta che può.
L’istruzione With consente di eseguire una serie di istruzioni su un oggetto specificato senza riqualificare il nome dell’oggetto.
Vediamo attraverso un semplice esempio di capire meglio il funzionamento e l’utilità dell’istruzione With VBA in Excel.
Letture consigliate:
Come utilizzare l’istruzione With in Excel
Supponiamo di voler cambiare alcuni aspetti dell’oggetto Range. L’oggetto Range può riferirsi a una o più righe, a una o più colonne, a una singola cella o un intervallo di celle.
Ad esempio, vogliamo effettuare le seguenti modifiche all’intervallo di celle A1:A10:
- applicare il grassetto,
- cambiare il colore del carattere,
- cambiare il nome del carattere,
- e la dimensione del carattere.
Per far questo possiamo procedere nel modo seguente:
Come potrai notare il codice NON usa l’istruzione With per impostare le varie proprietà dell’oggetto Range. Pertanto l’oggetto Range è ripetuto ben 4 volte!
Questo crea un rallentamento nell’esecuzione del codice VBA.
È tuttavia possibile velocizzare la nostra macro Excel (sub o subroutine) utilizzando l’oggetto Range una sola volta. Lo stesso codice può essere riscritto nel modo seguente:
Perché utilizzare With VBA in Excel?
Con l’utilizzo dell’istruzione With VBA Excel la lettura e l’esecuzione sarà più rapida. Inoltre, questo favorisce la comprensione del codice. La sintassi è la seguente:
Si inizia col digitare la parola With seguita da uno spazio e dall’oggetto da utilizzare. Nel nostro esempio l’oggetto è Range. Quindi si digita un punto seguito dal nome della proprietà che si desidera trattare.
Il tutto termina con le parole End With.
Senza entrare in troppi dettagli, la proprietà Font di un oggetto Range restituisce un oggetto Font. L’oggetto Font, a sua volta, ha molte proprietà.
Perciò nell’esempio precedente, si vuol manipolare la proprietà Font dell’oggetto Range.
La proprietà Font ha, a sua volta, molte proprietà.
L’utilizzo della dichiarazione With risulta abbastanza intuitiva. È importante perciò ricordare che se nel codice che stai scrivendo si ripete lo stesso oggetto, è meglio usare l’istruzione With … End With.
Infine, è possibile nidificare le istruzioni With. In questo modo puoi posizionare un blocco With all’interno di un altro. Il codice precedente può essere riscritto nel modo seguente:
NOTA
In effetti non è necessario sapere che si sta lavorando con uno oggetto Font contenuto in un oggetto Range. Ciò che importa è utilizzare la giusta sintassi!
Da questo punto di vista il registratore di macro si rivela un ottimo insegnante in quanto ti dirà tutto ciò che devi sapere sulla corretta sintassi.
Vantaggi dell’utilizzo del With VBA Excel
Riassumendo, i vantaggi principali dell’utilizzo dell’istruzione With sono che il nostro codice:
- viene eseguito più velocemente
- risulta più facile da leggere
Guarda il video e scopri come utilizzare l’istruzione With in VBA.
Se desideri approfondire il linguaggio VBA, dai uno sguardo ai 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!