Operatori VBA e funzioni integrate

Dichiarazioni VBA di Excel

Quando si scrive codice VBA in Excel, in ogni passaggio viene utilizzato un set di operatori integrati. Questi operatori sono divisi in operatori matematici, di stringa, di confronto e logici. Successivamente, esamineremo in dettaglio ciascun gruppo di operatori.

Operatori matematici

I principali operatori matematici VBA sono elencati nella tabella seguente.

La colonna di destra della tabella mostra la precedenza dell'operatore predefinito in assenza di parentesi. Aggiungendo parentesi a un'espressione, puoi modificare l'ordine in cui le istruzioni VBA vengono eseguite come desideri.

OperatoreActionpriorità

(1 – il più alto; 5 – il più basso)

^operatore esponenziale1
*operatore di moltiplicazione2
/operatore di divisione2
Divisione senza resto: restituisce il risultato della divisione di due numeri senza resto. Per esempio, 74 restituirà il risultato 13
CoraggioOperatore Modulo (resto): restituisce il resto dopo aver diviso due numeri. Per esempio, 8 Contro 3 restituirà il risultato 2.4
+Operatore di addizione5
-operatore di sottrazione5

Operatori di stringa

L'operatore di stringa di base in Excel VBA è l'operatore di concatenazione & (unire):

OperatoreAction
&operatore di concatenazione. Ad esempio, l'espressione «A» e «B» restituirà il risultato AB.

Operatori di confronto

Gli operatori di confronto vengono utilizzati per confrontare due numeri o stringhe e restituire un valore booleano di tipo Booleano (Vero o falso). I principali operatori di confronto VBA di Excel sono elencati in questa tabella:

OperatoreAction
=ugualmente
<>Non uguale
<Di meno
>Di Più
<=Minore o uguale
>=Maggiore o uguale

operatori logici

Gli operatori logici, come gli operatori di confronto, restituiscono un valore booleano di tipo Booleano (Vero o falso). I principali operatori logici di Excel VBA sono elencati nella tabella seguente:

OperatoreAction
E altre ancora… operazione di congiunzione, operatore logico И. Ad esempio, l'espressione A e B sarà di ritorno I veri, Se A и B entrambi sono uguali I veri, altrimenti torna Falso.
OrOperazione di disgiunzione, operatore logico OR. Ad esempio, l'espressione A o B sarà di ritorno I veri, Se A or B sono uguali I veri, e tornerà Falso, Se A и B entrambi sono uguali Falso.
Non compiere Operazione di negazione, operatore logico NON. Ad esempio, l'espressione Non A sarà di ritorno I veri, Se A Allo stesso modo Falso, o tornare Falso, Se A Allo stesso modo I veri.

La tabella sopra non elenca tutti gli operatori logici disponibili in VBA. Un elenco completo di operatori logici è disponibile nel Centro per sviluppatori di Visual Basic.

Funzioni integrate

Ci sono molte funzioni integrate disponibili in VBA che possono essere utilizzate durante la scrittura del codice. Di seguito sono elencati alcuni dei più comunemente usati:

FunzioneAction
AbsRestituisce il valore assoluto del numero specificato.

Esempio:

  • Addominali(-20) restituisce il valore 20;
  • Addominali(20) restituisce il valore 20.
ChrRestituisce il carattere ANSI corrispondente al valore numerico del parametro.

Esempio:

  • Cr(10) restituisce un'interruzione di riga;
  • Cr(97) restituisce un carattere a.
DataRestituisce la data di sistema corrente.
DataAggiungiAggiunge un intervallo di tempo specificato alla data specificata. Sintassi della funzione:

DateAdd(интервал, число, дата)

Dov'è l'argomento intervallo determina il tipo di intervallo di tempo aggiunto al dato quando nella quantità specificata nell'argomento numero.

Argomento intervallo può assumere uno dei seguenti valori:

IntervalloValore
aaaaanno
qtrimestre
mmese
ygiorno dell'anno
dgiorno
wgiorno della settimana
wwsettimana
hora
nminuto
ssecondo

Esempio:

  • DataAdd(«d», 32, «01/01/2015») aggiunge 32 giorni alla data 01/01/2015 e quindi restituisce la data 02/02/2015.
  • DataAggiungi(«ww», 36, «01/01/2015») aggiunge 36 settimane alla data 01/01/2015 e restituisce la data 09/09/2015.
DataDiffCalcola il numero di intervalli di tempo specificati tra due date date.

Esempio:

  • DateDiff(«d», «01/01/2015», «02/02/2015») calcola il numero di giorni tra il 01/01/2015 e il 02/02/2015, restituisce 32.
  • DateDiff(«ww», «01/01/2015», «03/03/2016») calcola il numero di settimane tra il 01/01/2015 e il 03/03/2016, restituisce 61.
GiorniRestituisce un numero intero corrispondente al giorno del mese nella data specificata.

Esempio: Giorno(«29/01/2015») restituisce il numero 29.

oraRestituisce un numero intero corrispondente al numero di ore in un dato momento.

Esempio: Ora(«22:45:00») restituisce il numero 22.

InstrRichiede un numero intero e due stringhe come argomenti. Restituisce la posizione di occorrenza della seconda stringa all'interno della prima, avviando la ricerca nella posizione data da un numero intero.

Esempio:

  • InStr(1, “Ecco la parola da cercare”, “parola”) restituisce il numero 13.
  • InStr(14, "Ecco la parola da cercare, ed ecco un'altra parola da cercare", "parola") restituisce il numero 38.

Nota: L'argomento numero potrebbe non essere specificato, nel qual caso la ricerca inizia dal primo carattere della stringa specificata nel secondo argomento della funzione.

IntRestituisce la parte intera del numero specificato.

Esempio: Interno(5.79) restituisce il risultato 5.

ÈdataReso I verise il valore indicato è una data, o Falso – se la data non è.

Esempio:

  • ÈData(«01/01/2015») problemi I veri;
  • ÈData(100) problemi Falso.
È un erroreReso I verise il valore fornito è un errore, o Falso – se non è un errore.
MancaIl nome di un argomento di procedura facoltativo viene passato come argomento alla funzione. Manca problemi I verise non è stato passato alcun valore per l'argomento della procedura in questione.
È numericoReso I verise il valore dato può essere trattato come un numero, altrimenti restituisce Falso.
sinistraRestituisce il numero di caratteri specificato dall'inizio della stringa data. La sintassi della funzione è questa:

Left(строка, длина)

where linea è la stringa originale, e lunghezza è il numero di caratteri da restituire, contando dall'inizio della stringa.

Esempio:

  • Sinistra(“abvgdejziklmn”, 4) restituisce la stringa “abcg”;
  • Sinistra(“abvgdejziklmn”, 1) restituisce la stringa "a".
LenRestituisce il numero di caratteri in una stringa.

Esempio: Len("abcdej") restituisce il numero 7.

MeseRestituisce un numero intero corrispondente al mese della data specificata.

Esempio: Mese(«29/01/2015») restituisce il valore 1.

MedioRestituisce il numero di caratteri specificato dal centro della stringa data. Sintassi della funzione:

metà (linea, inizia a, lunghezza)

where linea è la stringa originale inizia a – la posizione dell'inizio della stringa da estrarre, lunghezza è il numero di caratteri da estrarre.

Esempio:

  • Metà(“abvgdejziklmn”, 4, 5) restituisce la stringa “dove”;
  • Metà(“abvgdejziklmn”, 10, 2) restituisce la stringa “cl”.
MinutoRestituisce un numero intero corrispondente al numero di minuti nell'intervallo di tempo specificato. Esempio: Minuto(«22:45:15») restituisce il valore 45.
AdessoRestituisce la data e l'ora correnti del sistema.
La giustaRestituisce il numero di caratteri specificato dalla fine della stringa data. Sintassi della funzione:

Destra(linea, lunghezza)

Dove linea è la stringa originale, e lunghezza è il numero di caratteri da estrarre, a partire dalla fine della stringa data.

Esempio:

  • A destra(«abvgdezhziklmn», 4) restituisce la stringa “clmn”;
  • A destra(«abvgdezhziklmn», 1) restituisce la stringa “n”.
SecondoRestituisce un numero intero corrispondente al numero di secondi nel tempo specificato.

Esempio: Secondo(«22:45:15») restituisce il valore 15.

mqRestituisce la radice quadrata del valore numerico passato nell'argomento.

Esempio:

  • Quadrato(4) restituisce il valore 2;
  • Quadrato(16) restituisce il valore 4.
OraRestituisce l'ora di sistema corrente.
UboundRestituisce l'apice della dimensione della matrice specificata.

Nota: Per le matrici multidimensionali, un argomento facoltativo può essere l'indice di quale dimensione restituire. Se non specificato, il valore predefinito è 1.

annoRestituisce un numero intero corrispondente all'anno della data specificata. Esempio: Anno(«29/01/2015») restituisce il valore 2015.

Questo elenco include solo una selezione delle funzioni integrate di Excel Visual Basic più comunemente utilizzate. Un elenco completo delle funzioni VBA disponibili per l'uso nelle macro di Excel è disponibile nel Centro per sviluppatori di Visual Basic.

Lascia un Commento