Come utilizzare la funzione foglio di calcolo vba?
Note chiave
- È possibile utilizzare la proprietà WorksheetFunction per accedere alle funzioni del foglio di lavoro da utilizzare in una macro.
Come utilizzare una funzione del foglio di lavoro in VBA durante la scrittura di una macro
Utilizzare i passaggi seguenti per utilizzare una funzione del foglio di lavoro in VBA.
- Innanzitutto, specifica la cella in cui desideri inserire i valori restituiti dalla funzione.
- Successivamente, utilizza un segno uguale (=) e digita Application.WorksheetFunction (come puoi già fare nell’applicazione Excel, puoi utilizzare solo WorksheetFunction).
- Successivamente, devi inserire un punto (.) e nel momento in cui lo fai, otterrai un elenco di funzioni presenti nel foglio di calcolo.
- Da qui, utilizziamo la funzione TextJoin per unire il testo nelle celle A1 e B1. Proprio così, usi una funzione nel foglio di calcolo; quando inserisci le parentesi iniziali, ti mostra gli argomenti che devi specificare nella cella.
- Come puoi vedere nello screenshot qui sopra, mostra l’argomento che devi specificare, ma non il nome dell’argomento. Quindi è necessario conoscere gli argomenti prima di usarli. Ecco gli argomenti che devi utilizzare in TextJoin.
- Ora inseriamo gli argomenti nella funzione.
- delimitare: » «
- ignore_empty: vero
- testo1: intervallo (“A1”)
- testo2: intervallo (“B1”)
Ecco il codice completo.
Sub MyMacro() Range("A1") = _ Application.WorksheetFunction.TextJoin _ (" ", True, Range("A2"), Range("A3")) End Sub
Esistono un totale di 387 funzioni del foglio di lavoro che puoi utilizzare in VBA. Ma ci sono alcune funzioni (Esempio: LEFT ) che non sono disponibili.
Motivo? Esistono funzioni integrate in VBA che è possibile utilizzare durante la scrittura del codice VBA. Vediamo se vuoi utilizzare una finestra di messaggio per ottenere il valore di una funzione. Supponiamo che tu voglia ottenere il valore massimo dell’intervallo denominato “myValues”.
Il codice sarebbe:
Sub MyMacro() MsgBox Prompt:=WorksheetFunction.Max(Range("myValues")) End Sub
Ed è così che ottieni una finestra di messaggio:
Application.WorksheetFunction vs Applicazione
Esistono due modi diversi per fare riferimento a una funzione del foglio di lavoro. Di seguito sono riportate le due diverse righe di codice che eseguono la stessa attività.
Sub MyMacro() MsgBox Prompt:= _ Application.WorksheetFunction.Max(Range("myValues")) MsgBox Prompt:= _ Application.Max(Range("myValues")) End Sub
Ma c’è un vantaggio nell’usare il secondo metodo. Restituisce un codice di errore invece di visualizzare direttamente l’errore.