Funzioni del foglio di lavoro nelle macro VBA utilizzando VBA in Microsoft Excel

Anonim

Nel codice VBA, se devi fare riferimento a determinate funzioni del foglio di lavoro come Sum, Vlookup, ecc., Puoi usarle direttamente utilizzando l'oggetto Application. Quindi useremo le funzioni come -

Application.WorksheetFunction.Sum o Application.WorksheetFunction.Vlookup dove WorksheetFunction è il metodo dell'oggetto Application.

Considerando che abbiamo questa macro di prova, se digitiamo

Application.WorksheetFunction.

Otterremo un popup che mostra le formule che fanno riferimento all'immagine sotto

Quindi, ad esempio, se vuoi sommare i valori di questo intervallo nella colonna A usando vba -

Diamo una variabile chiamata SalesTotal che salverà la somma in essa. Per ottenere il totale in SalesTotal utilizzeremo il seguente codice VBA nel modulo standard:

Sottomacro4()
Dim SalesTotal As Long
Totale vendite = Application.WorksheetFunction.Sum(Range("A2:A6"))
MsgBox SalesTotal
Fine sottotitolo

Per copiare il codice sopra nel tuo file,

  • Premi Alt + F11 sulla tastiera.
  • Sul lato sinistro, vedrai gli oggetti di Microsoft Excel.
  • Fare clic con il tasto destro e selezionare Inserisci.
  • Quindi fare clic su Modulo.
  • Copia il codice nella finestra del codice a destra.

Quando usiamo questa macro di esempio, otterremo un messaggio che mostra il valore che è memorizzato in Sales Total e può essere utilizzato in ulteriori righe di codice nella macro.

L'output che otterremo è -

Se vuoi che SalesTotal venga mostrato nella cella A7, puoi modificare la riga del codice da

Msgbox SalesTotala Fogli di lavoro ("Foglio1"). Intervallo ("A7"). Valore = Totale vendite

Considerando che abbiamo anche bisogno delle vendite medie per queste cifre nella cella A9. Possiamo usare il codice qui sotto

Sottomacro5()
Dim SalesTotal As Long
Con fogli di lavoro ("Foglio1")
SalesTotal = Application.WorksheetFunction.Sum(.Range("A2:A6"))
.Range("A7").Value = SalesTotal
.Range("A9").Value = Application.WorksheetFunction.Average(.Range("A2:A6"))
Termina con
Fine sottotitolo

Ci sono lievi modifiche a questo codice rispetto al precedente.

  • Invece di utilizzare una variabile per la media, ho popolato direttamente quel valore dopo il calcolo nella cella A9. Quindi, vedrai la riga .Range(“A9”).Value = Application.WorksheetFunction.Average(.Range(“A2:A6”))
  • La riga msgbox è stata rimossa.
  • Il valore nella variabile SalesTotal va alla cella A7.
  • Idealmente, puoi ripetere la stessa riga di codice che è stata utilizzata per la media, per la riga di codice Sum sostituendo

SalesTotal = Application.WorksheetFunction.Sum(.Range(“A2:A6”))

.Range(“A7”).Value = SalesTotal

Insieme a

.Range(“A7”).Value = Application.WorksheetFunction.Sum(.Range(“A2:A6”))

Tuttavia, è stato mantenuto in modo da poter comprendere i diversi modi di codificare la stessa attività. Allo stesso modo, possiamo usare altre funzioni durante l'utilizzo di Application.WorksheetFunction. Tutte quelle funzioni che possiamo usare direttamente nel foglio di lavoro, possiamo usarle qui.

Ciò semplifica l'utilizzo delle funzioni nel codice in modo da poter calcolare le formule richieste senza dover creare un codice per la formula.

Se ti è piaciuto il nostro blog, condividilo con i tuoi amici su Facebook. E puoi anche seguirci su Twitter e Facebook.
Ci piacerebbe avere tue notizie, facci sapere come possiamo migliorare, completare o innovare il nostro lavoro e renderlo migliore per te. Scrivici a sito di posta elettronica