VBA con / Termina con istruzione

Questo articolo dimostrerà come utilizzare With e End With in VBA

Excel ci offre l'opportunità di imparare VBA registrando le macro. Queste macro registrano letteralmente tutto ciò che facciamo sullo schermo e convertono le azioni in codice VBA. Possiamo quindi analizzare questo codice e imparare da esso.

Quando registriamo una macro in VBA, soprattutto quando cambiamo il formato delle celle, la macro molto spesso utilizzerà Con… Fine con sintassi nella sua registrazione. Capire cosa significano e per cosa vengono utilizzati è una parte importante di VBA.

Registrazione di una macro

Per registrare una macro in Excel, nel Nastro, Selezionare Visualizza > Macro > Registra macro.

O

Sviluppatore > Registra macro

Nota: se non vedi la barra multifunzione per sviluppatori, dovrai abilitarla. Clicca QUI per sapere come farlo.

Digita il nome della macro e fai clic su OK.

Evidenzia alcune celle, quindi formattale per Grassetto, cambia il colore in rosso e modifica la dimensione del carattere. Quindi fare clic su Interrompi nell'angolo in basso a sinistra dello schermo per interrompere la registrazione della macro.

Sintassi dell'istruzione WITH

Per visualizzare/modificare la macro registrata: nella barra multifunzione, selezionare Visualizza > Macro > Visualizza macro. Seleziona la macro appena registrata, quindi fai clic su Modificare.

O

Nella barra multifunzione, seleziona Sviluppatore > Visual Basic per passare alla finestra VBE.

La macro registrata potrebbe essere simile all'esempio seguente

123456789 Sub ConMacro()Intervallo ("A2: C10"). SelezionaSelection.Font.Bold = TrueDimensione.Carattere.Selezione = 12Con Selezione.Font.Colore = -16776961.TintAndShade = 0Termina conFine sottotitolo

In primo luogo, abbiamo selezionato l'intervallo A2:C10.

Abbiamo quindi impostato il grassetto su true e la dimensione del carattere su 12. Nota che il codice "Selection.Font" viene ripetuto per queste righe.

La macro ci ha quindi registrato cambiando il colore del testo - nota che questa volta, il Selection.Font ha un INSIEME A davanti e le 2 proprietà che vengono modificate (il colore e il tintandshade) hanno un punto (.) davanti a loro. L'area del codice viene quindi completata con un FINE CON.

Per semplificare questo codice, possiamo spostare il Bold e il Size all'interno dell'istruzione WITH, e quindi eliminare la necessità di ripetere la parola Selection.

123456789 Sub ConMacro()Intervallo ("A2: C10"). SelezionaCon Selezione.Font.grassetto = vero.Dimensione = 12.Colore = -16776961.TintAndShade = 0Termina conFine sottotitolo

La sintassi di un'istruzione WITH… END WITH è quindi molto semplice:

123 CON Oggetto"proprietà da formattare/modificare"FINE CON

Avremmo potuto modificare il codice in un modo diverso:

1234567 Sotto RimuoviCon()Intervallo ("A2: C10"). SelezionaSelection.Font.Bold = TrueDimensione.Carattere.Selezione = 12Selezione.Font.Color = -16776961Selection.Font.TintAndShade = 0Fine sottotitolo

Nell'esempio sopra, abbiamo aggiunto le parole Selection.Font a ogni riga del codice. Abbiamo quindi fatto ripetutamente riferimento all'Oggetto Selection.Font nel codice.

Tuttavia, l'utilizzo dell'istruzione WITH significa che è necessario fare riferimento a questo oggetto solo una volta nel codice. È un modo più pulito di codificare - dice a VBA di iniziare con WITH e la fine di END WITH - il codice da eseguire è tutto racchiuso in quelle 2 parole. Rende la macro più veloce ed efficiente (soprattutto per le macro più lunghe) e aggiunge struttura al codice.

Aiuterete lo sviluppo del sito, condividere la pagina con i tuoi amici

wave wave wave wave wave