Usa le funzioni del foglio di lavoro in una macro - Esempi di codice VBA

Esistono molti modi per utilizzare le funzioni in VBA. VBA viene caricato con molte funzioni integrate. Puoi persino creare le tue funzioni (UDF). Tuttavia, puoi anche utilizzare molte delle funzioni di Excel in VBA utilizzando Application.WorksheetFunction.

Come utilizzare le funzioni del foglio di lavoro in VBA

Per accedere a una funzione di Excel in VBA, aggiungi Application.WorksheetFunction davanti alla funzione che desideri chiamare. Nell'esempio seguente, chiameremo la funzione Max di Excel:

12 Dim maxvalue finchémaxvalue = Application.WorksheetFunction.Max(Range("a1").Value, Range("a2").Value)

La sintassi delle funzioni è la stessa, tuttavia inserirai gli argomenti della funzione proprio come faresti con qualsiasi altra funzione VBA.

Si noti che la sintassi della funzione Max appare quando si digita (simile a con le funzioni VBA):

Foglio di lavoro Metodo della funzione

WorksheetFunction è un metodo dell'oggetto Application. Ti consente di accedere a molte (non tutte) delle funzioni standard del foglio di lavoro Excel. In genere, non avrai accesso a nessuna funzione del foglio di lavoro con una versione VBA corrispondente.

Di seguito è possibile visualizzare un elenco di molte delle funzioni del foglio di lavoro più comuni.

Application.WorksheetFunction vs. Application

In realtà ci sono due modi per accedere a queste funzioni:

Application.WorksheetFunction (come visto sopra):

1 maxvalue = Application.WorksheetFunction.Max(Range("a1").Value, Range("a2").Value)

oppure puoi omettere la funzione Foglio di lavoro

1 maxvalue = Application.Max(Range("a1").Value, Range("a2").Value)

Sfortunatamente, l'omissione di WorksheetFunction eliminerà l'Intellisense che visualizza la sintassi (vedi immagine sopra). Tuttavia, ha un grande potenziale vantaggio: Gestione degli errori.

Se usi Application e la tua funzione genera un errore, restituirà il valore di errore. Se usi il metodo WorksheetFunction, VBA genererà un errore di runtime. Naturalmente, puoi gestire l'errore VBA, ma di solito è meglio evitare l'errore in primo luogo.

Diamo un'occhiata a un esempio per vedere la differenza:

Foglio di lavoro VlookupGestione degli errori della funzione

Tenteremo di eseguire un Vlookup che non risulterà in una corrispondenza. Quindi la funzione Vlookup restituirà un errore.

Per prima cosa utilizzeremo il metodo WorksheetFunction. Nota come VBA genera un errore:

Successivamente omettiamo la WorksheetFunction. Notare come

Successivamente ometteremo la funzione Foglio di lavoro. Nota come non viene generato alcun errore e invece la funzione 'value' contiene il valore di errore da Vlookup.

Elenco delle funzioni del foglio di lavoro VBA

Di seguito troverai un elenco della maggior parte delle funzioni comuni del foglio di lavoro VBA.

FunzioneDescrizione
Logico
EVerifica se tutte le condizioni sono soddisfatte. VERO FALSO
SESe la condizione è soddisfatta, fai qualcosa, in caso contrario, fai qualcos'altro.
SE ERRORESe il risultato è un errore, fai qualcos'altro.
OVerifica se sono soddisfatte le condizioni. VERO FALSO
Ricerca e riferimento
SCEGLIERESceglie un valore da un elenco in base al suo numero di posizione.
HLOOKUPCerca un valore nella prima riga e restituisci un valore.
INDICERestituisce un valore in base ai suoi numeri di colonna e riga.
CERCARECerca i valori orizzontalmente o verticalmente.
INCONTROCerca un valore in un elenco e ne restituisce la posizione.
TRASPORREInverte l'orientamento di un intervallo di celle.
CERCA.VERTCerca un valore nella prima colonna e restituisci un valore.
Appuntamento
DATARestituisce una data da anno, mese e giorno.
DATAVALOREConverte una data memorizzata come testo in una data valida
GIORNORestituisce il giorno come numero (1-31).
GIORNI360Restituisce i giorni tra 2 date in un anno di 360 giorni.
EDATERestituisce una data, a n mesi di distanza da una data di inizio.
EOMESERestituisce l'ultimo giorno del mese, la data di distanza di n mesi.
ORARestituisce l'ora come numero (0-23).
MINUTORestituisce il minuto come numero (0-59).
MESERestituisce il mese come numero (1-12).
GIORNI LAVORATIVINumero di giorni lavorativi tra 2 date.
GIORNI.LAVORATIVI.INTLGiorni lavorativi tra 2 date, fine settimana personalizzati.
ORARestituisce la data e l'ora correnti.
SECONDORestituisce il secondo come numero (0-59)
TEMPORestituisce il tempo tra un'ora, un minuto e un secondo.
TIMEVALUEConverte un'ora memorizzata come testo in un'ora valida.
GIORNO SETTIMANALERestituisce il giorno della settimana come numero (1-7).
NUM.SETTIMANARestituisce il numero della settimana in un anno (1-52).
GIORNATA DI LAVOROLa data n giorni lavorativi da una data.
ANNORestituisce l'anno.
YEARFRACRestituisce la frazione di anno tra 2 date.
Ingegneria
CONVERTIREConverti il ​​numero da un'unità all'altra.
Finanziario
FVCalcola il valore futuro.
PVCalcola il valore attuale.
NPERCalcola il numero totale di periodi di pagamento.
PMTCalcola l'importo del pagamento.
VOTACalcola il tasso di interesse.
VANCalcola il valore attuale netto.
IRRIl tasso di rendimento interno per un insieme di CF periodici.
XIRRIl tasso di rendimento interno per un insieme di CF non periodici.
PREZZOCalcola il prezzo di un'obbligazione.
INTRATEIl tasso di interesse di un titolo completamente investito.
Informazione
ISERRVerifica se il valore della cella è un errore, ignora #N/A. VERO FALSO
ISERRORVerifica se il valore della cella è un errore. VERO FALSO
È ANCHEVerifica se il valore della cella è pari. VERO FALSO
ISLOGICOVerifica se la cella è logica (VERO o FALSO). VERO FALSO
ISNAVerifica se il valore della cella è #N/A. VERO FALSO
ISNOTESTOVerifica se la cella non è testo (le celle vuote non sono testo). VERO FALSO
ISNUMBERVerifica se la cella è un numero. VERO FALSO
ISODDVerifica se il valore della cella è dispari. VERO FALSO
ISTEXTVerifica se la cella è testo. VERO FALSO
GENERERestituisce il tipo di valore in una cella.
Matematica
addominaliCalcola il valore assoluto di un numero.
AGGREGATODefinire ed eseguire calcoli per un database o un elenco.
SOFFITTOArrotonda un numero per eccesso al multiplo specificato più vicino.
COSRestituisce il coseno di un angolo.
GRADIConverte i radianti in gradi.
DSUMSomma i record del database che soddisfano determinati criteri.
ANCHEArrotonda all'intero pari più vicino.
EXPCalcola il valore esponenziale per un dato numero.
FATTORestituisce il fattoriale.
PAVIMENTOArrotonda un numero per difetto, al multiplo specificato più vicino.
GCDRestituisce il massimo comun divisore.
INTArrotonda un numero per difetto all'intero più vicino.
LCMRestituisce il minimo comune multiplo.
LNRestituisce il logaritmo naturale di un numero.
TRONCO D'ALBERORestituisce il logaritmo di un numero su una base specificata.
LOG10Restituisce il logaritmo in base 10 di un numero.
MERENDAArrotonda un numero a un multiplo specificato.
STRANOArrotonda all'intero dispari più vicino.
PIIl valore di PI.
POTENZACalcola un numero elevato a potenza.
PRODOTTOMoltiplica un array di numeri.
QUOZIENTERestituisce il risultato intero della divisione.
RADIANTIConverte un angolo in radianti.
CASUALE TRACalcola un numero casuale tra due numeri.
IL GIROArrotonda un numero a un numero di cifre specificato.
ROUNDDOWNArrotonda un numero per difetto (verso lo zero).
ARROTONDAREArrotonda un numero per eccesso (lontano da zero).
PECCATORestituisce il seno di un angolo.
TOTALE PARZIALERestituisce una statistica di riepilogo per una serie di dati.
SOMMASomma i numeri insieme.
SUMIFSomma i numeri che soddisfano un criterio.
SUMIFSomma i numeri che soddisfano più criteri.
SUMPRODOTTOMoltiplica gli array di numeri e somma l'array risultante.
TANRestituisce la tangente di un angolo.
Statistiche
MEDIANumeri medi.
MEDIA SENumeri medi che soddisfano un criterio.
MEDIENumeri medi che soddisfano più criteri.
CORRELAZIONECalcola la correlazione di due serie.
CONTAREConta le celle che contengono un numero.
CONTAConta le celle che non sono vuote.
CONTA.VUOTEConta le celle vuote.
CONTA.SEConta le celle che soddisfano un criterio.
COUNTIFSConta le celle che soddisfano più criteri.
PREVISIONEPrevedi i futuri valori y dalla linea di tendenza lineare.
FREQUENZAConta i valori che rientrano negli intervalli specificati.
CRESCITACalcola i valori Y in base alla crescita esponenziale.
INTERCETTARECalcola l'intercetta Y per una linea best-fit.
GRANDERestituisce il k-esimo valore più grande.
LINESTRestituisce le statistiche su una linea di tendenza.
MAXRestituisce il numero più grande.
MEDIANORestituisce il numero mediano.
MINRestituisce il numero più piccolo.
MODALITÀRestituisce il numero più comune.
PERCENTILERestituisce il k-esimo percentile.
PERCENTILE.INCRestituisce il k-esimo percentile. Dove k è compreso.
PERCENTILE.EXCRestituisce il k-esimo percentile. Dove k è esclusivo.
QUARTILERestituisce il valore del quartile specificato.
QUARTILE.INCRestituisce il valore del quartile specificato. Inclusivo.
QUARTILE.EXCRestituisce il valore del quartile specificato. Esclusivo.
CLASSIFICARango di un numero all'interno di una serie.
RANK.AVGRango di un numero all'interno di una serie. Medie.
RANK.EQRango di un numero all'interno di una serie. Classifica superiore.
PENDENZACalcola la pendenza dalla regressione lineare.
PICCOLORestituisce il k-esimo valore più piccolo.
STDEVCalcola la deviazione standard.
STDEV.PCalcola la DS di un'intera popolazione.
STDEV.SCalcola la SD di un campione.
STDEVPCalcola la DS di un'intera popolazione
TENDENZACalcola i valori Y in base a una linea di tendenza.
Testo
PULIRERimuove tutti i caratteri non stampabili.
DOLLAROConverte un numero in testo in formato valuta.
TROVAIndividua la posizione del testo all'interno di una cella. Maiuscole/minuscole.
SINISTRATronca il testo di un numero di caratteri da sinistra.
LENConta il numero di caratteri nel testo.
MIDEstrae il testo dal centro di una cella.
CORRETTOConverte il testo in maiuscolo.
SOSTITUIRESostituisce il testo in base alla sua posizione.
REPTRipete il testo un numero di volte.
GIUSTOTronca il testo di un numero di caratteri da destra.
RICERCAIndividua la posizione del testo all'interno di una cella. Non distingue tra maiuscole e minuscole.
SOSTITUTOTrova e sostituisce il testo. Che tiene conto del maiuscolo o minuscolo.
TESTOConverte un valore in testo con un formato numerico specifico.
ORDINARERimuove tutti gli spazi extra dal testo.

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

wave wave wave wave wave