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 Sub