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.
    worksheet-function-in-vba
  • Successivamente, utilizza un segno uguale (=) e digita Application.WorksheetFunction (come puoi già fare nell’applicazione Excel, puoi utilizzare solo WorksheetFunction).
    use-an-equal-sign
  • Successivamente, devi inserire un punto (.) e nel momento in cui lo fai, otterrai un elenco di funzioni presenti nel foglio di calcolo.
    you-need-to-enter-a-dot
  • 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.
    use-the-textjoin-function
  • 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.
    arguement-before-using-testjoin
  • Ora inseriamo gli argomenti nella funzione.
    enter-arguement-in-the-function
    1. delimitare: » «
    2. ignore_empty: vero
    3. testo1: intervallo (“A1”)
    4. 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:

intervallo-nomi-mieivalori

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à.

foglio di lavoro dell'applicazionefunzione-vs-applicazione
 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.

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *