VBA ve Excel, hesaplamaları yapmanıza yardımcı olacak yerleşik işlevlere sahiptir.
VBA’nın Excel’e eşdeğer bir işlevi varsa, yalnızca VBA işlevini kullanabilirsiniz.
Fonksiyonlar aşağıdaki 3 başlangıç ifadesiyle eklenebilir.
- Excel.WorksheetFunction.
- Application.
- VBA.
| Excel (Türkçe) | Excel (İngilizce) | VBA karşılığı |
|---|---|---|
| MUTLAK | ABS | ABS |
| EBOŞSA | ISBLANK | ISEMPTY |
| UZUNLUK | LEN | LEN |
| KÜÇÜKHARF | LOWER | LCASE |
| S_SAYI_ÜRET | RAND | RND |
| BUGÜN | TODAY | DATE |
| TÜR | TYPE | TYPENAME |
| BÜYÜKHARF | UPPER | UCASE |
Bir fonksiyon Nesne tarayıcıda 2 yöntemle aranabilir
Yöntem 1
Örneğin, BÜYÜKHARF fonksiyonunun karşılığı Nesne Tarayıcıdan, tüm sınıflar içinde, aşağıdaki gibi bulunabilir

Yöntem 2
Örneğin, BÜYÜKHARF fonksiyonunun karşılığı Nesne Tarayıcıdan, Strings sınıfı içinde, aşağıdaki gibi bulunabilir

Örnek:
Sub VBA_ve_Excel_Fonksiyonlari()
'Sayfanın kod adı
With Sayfa1
'bugünün tarihini almak
'bugünün tarihi aşağıdaki 3 yöntemle de alınabilir
.Range("B3").Value = Date
.Range("B4").Value = VBA.Date
.Range("B5").Value = VBA.DateTime.Date
'BÜYÜKHARF
'VBA. yazmaya gerek yoktur. Sadece UCase de yazılabilir
'VBA.Strings.UCase şeklide de yazılabilir
.Range("B6").Value = VBA.UCase(.Range("A6").Value)
'KÜÇÜKHARF
.Range("B7").Value = VBA.LCase(.Range("A7").Value)
'YAZIM.DÜZENİ
'VBA de yerleşik YAZIM.DÜZENİ fonksiyonu yok. Bunun yerine aşağıdaki gibi bir yöntem kullanılır
.Range("B8").Value = VBA.StrConv(.Range("A8").Value, vbProperCase)
.Range("B9").Value = Excel.Application.WorksheetFunction.Proper(.Range("A9").Value)
'Bir aralıktaki maksimum değeri bulmak:
Dim myRange As Range
Set myRange = .Range("A20").CurrentRegion
.Range("B15").Value = Excel.WorksheetFunction.Max(myRange)
End With
End SubCode language: VB.NET (vbnet)