Sommario:
Video: EXCEL - Tutorial 16: Macro esempi 2025
Un'istruzione di assegnazione è un'istruzione VBA che assegna il risultato di un'espressione a una variabile oa un oggetto. Il sistema di guida di Excel definisce il termine espressione come
"… una combinazione di parole chiave, operatori, variabili e costanti che produce una stringa, un numero o un oggetto. Un'espressione può essere utilizzata per eseguire un calcolo, manipolare caratteri o testare dati. "
Gran parte del tuo lavoro in VBA comporta lo sviluppo (e il debug) di espressioni. Se sai come creare formule in Excel, non avrai problemi a creare espressioni. Con una formula del foglio di lavoro, Excel visualizza il risultato in una cella. Un'espressione VBA, d'altra parte, può essere assegnata a una variabile.
Esempi di istruzioni di assegnazione
Negli esempi di istruzioni di assegnazione che seguono, le espressioni sono a destra del segno di uguale:
x = 1 x = x + 1 x = (y * 2) / (z * 2) HouseCost = 375000 FileOpen = True Range ("TheYear"). Valore = 2016
Le espressioni possono essere complesse quanto necessario per essere; usa il carattere di continuazione della linea (uno spazio seguito da un carattere di sottolineatura) per rendere più facili da leggere le espressioni lunghe.
Spesso le espressioni usano le funzioni: le funzioni incorporate di VBA, le funzioni del foglio di lavoro di Excel o le funzioni sviluppate con VBA.
Informazioni sul segno di uguale
Come puoi vedere nell'esempio precedente, VBA utilizza il segno di uguale come suo operatore di assegnazione. Probabilmente sei abituato ad usare un segno di uguale come simbolo matematico per l'uguaglianza. Pertanto, una dichiarazione di assegnazione come la seguente potrebbe farti alzare le sopracciglia:
z = z + 1
In quale universo pazzo z è uguale a se stesso più 1? Risposta: nessun universo conosciuto. In questo caso, l'istruzione di assegnazione (quando eseguita) aumenta il valore di z di 1. Quindi se z è 12, l'esecuzione dell'istruzione rende z uguale a 13. Ricorda che un'assegnazione usa il segno di uguale come operatore, non un simbolo di uguaglianza.
Operatori uniformi
Gli operatori svolgono ruoli importanti in VBA. Oltre all'operatore equal-sign, VBA offre diversi operatori. Questi dovrebbero essere familiari perché sono gli stessi operatori utilizzati nelle formule del foglio di lavoro (tranne che per l'operatore Mod).
Funzione | Simbolo operatore |
---|---|
Aggiungi | + |
Moltiplicazione | * |
Divisione | / |
Sottrazione | - |
Esponenziazione | ^ < Concatenazione di stringhe |
e | Divisione di interi (il risultato è sempre un numero intero) |
Aritmetica di modulo (restituisce il resto di un'operazione di divisione | |
)
Mod |
Quando scrivi una formula di Excel, fai modulo aritmetico utilizzando la funzione MOD.Ad esempio, la seguente formula restituisce 2 (il resto quando dividi 12 per 5): |
= MOD (12, 5)
In VBA, l'operatore Mod viene utilizzato in questo modo (e z ha un valore di 2):
z = 12 Mod 5
Il termine
concatenazione è programmatore parla per "unirsi". "Pertanto, se si concatenano stringhe, si combinano stringhe per creare una stringa nuova e migliorata. VBA offre anche un set completo di operatori logici. Di questi, Not, And e Or vengono utilizzati più frequentemente.
Operatore
Che cosa | Non |
---|---|
Esegue una negazione logica su un'espressione | E |
Esegue una congiunzione logica su due espressioni | Oppure |
Esegue una disgiunzione logica su due espressioni | Xor |
Esegue un'esclusione logica su due espressioni | Eqv |
Esegue un'equivalenza logica su due espressioni | Imp |
Esegue un'implicazione logica su due espressioni | L'ordine di precedenza per gli operatori in VBA è esattamente lo stesso come in formule di Excel. Il potenziamento ha la precedenza più alta. La moltiplicazione e la divisione vengono dopo, seguite da addizioni e sottrazioni. Puoi usare le parentesi per cambiare l'ordine di precedenza naturale, facendo in modo che qualsiasi cosa racchiusa tra parentesi venga prima di qualsiasi operatore. Date un'occhiata a questo codice: |
x = 3 y = 2 z = x + 5 * y
Quando viene eseguito il codice precedente, qual è il valore di z? Se hai risposto a 13, ottieni una stella d'oro che dimostra di aver compreso il concetto di precedenza degli operatori. Se hai risposto a 16, leggi questo: L'operazione di moltiplicazione (5 * y) viene eseguita per prima, e quel risultato viene aggiunto a x.
Molti programmatori tendono ad usare le parentesi anche quando non sono richieste. Ad esempio, nella vita reale l'ultima istruzione di assegnazione potrebbe essere scritta in questo modo:
z = x + (5 * y)
Non essere timido sull'uso delle parentesi anche se non sono richieste - specialmente se si fa quindi rende il tuo codice più facile da capire. VBA non si preoccupa se usi parentesi extra.
