Excel funkcije u VBA

VBA jezik može da koristi dve vrste funkcija: one svojstvene njemu i funkcije koje već postoje u Excel-u. Iako VBA poseduje veliki broj funkcija Excel ih ima još više. A da ne bi, kako izreka kaže, „izmišljali toplu vodu“ često je bolje iskoristiti neku od postojećih funkcija da završimo posao. Ovo se postiže pomoću metoda Application.WorksheetFunction koji nam omogućava pozivanje bilo koje raspoložive Excel funkcije.

Kako ovo radi pokazaćemo u primeru gde treba da izračunamo prosek plata grupe radnika. Pre početka izvršnog dela programa najpre je potrebno da deklarišemo dve promenljive. Prva predstavlja niz, a druga rezultat funkcije. Zatim objektu koji predstavlja niz dodeljujemo opseg čiji prosek računamo (B2:B6), a onda pozivamo funkciju AVERAGE pomoću metoda WorksheetFunction. Na kraju, upisujemo rezultat u odgovarajuću ćeliju (B7). Ovako izgleda gotov program:

Sub ExcelFunctionsinVBA()

Dim rng As Range
Dim avgs As Single
Set rng = ActiveSheet.Range(„B2:B6“)
avgs = Application.WorksheetFunction.Average(rng)
ActiveSheet.Range(„B7“) = avgs

End Sub