fbpx
.st0{fill:#FFFFFF;}

Excel Esperto, Macro e VBA

With VBA Excel: istruzione With in VBA

 Ottobre 23, 2019

By  Damiano Causale

  • Home
  • With VBA Excel: istruzione With in VBA

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.

with vba excel

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.

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:

with vba excel

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:

with vba excel

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:

with vba excel

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

with vba excel

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:

with vba excel

NOTA

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

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

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