Excel’de Kullanici Tanimli Fonksiyonlar (UDF = User Defined Functions)

Excel’de Kullanici Tanimli Fonksiyonlar (UDF = User Defined Functions)

Excel’de tanimli yüzlerce standart fonksiyon olmasina ragmen bazen bu fonksiyonlar ihtiyaçlarinizi karsilayamaz veya bu fonksiyonlari iç içe kullanmak zorunda kalip uzun fonksiyonlarin içinde kaybolursunuz. Bu makalenin ilk bölümünde Excel’de kullanicilarin kendi fonksiyonlarini tanimlamalarini ve ikinci bölümde ise bunlari eklenti olarak Excel’e tanitmayi ögreneceksiniz. Fonksiyonlar için orta seviyede Visual Basic 6.x bilgisi yeterli olacaktir.

.

Kullanici Tanimli Fonksiyon (KTF) Nasil Olusturulur?

1.      Yeni bir Excel kitabi açin.

2.      Visual Basic Düzenleyicisi’ni baslatin. (Kisayol: Alt + F11)

3.      Yeni bir modül ekleyin. (Insert -> Module)

4.      Module1 adli modülün içine kendi fonksiyonunuzu yazin.

5.      Visual Basic Düzenleyicisi’ni kapatin. (Kisayol: Alt+Q ya da Alt+F4)

6.      Islev Ekle butonuna tiklayin. (Kisayol: Shift + F3) 

7.      Kullanici Tanimli kategorisini seçin. Karsinizda sizin yarattiginiz fonksiyonlar görünecektir.

Basit bir KTF

Bu örnek kullanicinin belirttigi iki kenar uzunlugunu kullanarak bir dik üçgenin hipotenüs uzunlugunu hesaplar.

Function Hipotenus_Hesaplama(ByVal Kenar_Uzunlugu_1 As Integer, ByVal Kenar_Uzunlugu_2 As Integer) As Double

 

        Hipotenus_Hesaplama = Math.Sqr(Kenar_Uzunlugu_1 ^ 2 + Kenar_Uzunlugu_2 ^ 2)

 

   End Function

 

Biraz daha karmasik bir KTF

Bu örnek ise kullanicinin belirledigi bir sayinin asal sayi olup olmadigini kontrol eder ve sonucu “Asal sayi” veya “Asal Sayi Degil” olarak döndürür.

    Function Asal_Sayi_Kontrol(ByVal Sayi As Integer) As String

 

        Dim i As Integer

 

‘Sayi çift ise veya 2’den küçük bir sayi ise döngüye girmeden sonuç döndürülür

        If i Mod 2 = 0 or i < 2 Then

            Asal_Sayi_Kontrol = "Asal sayi degil"

        Else

            For i = 3 To Math.Sqr(Sayi) Step 2

                If Sayi Mod i = 0 Then Asal_Sayi_Kontrol = "Asal sayi degil" : Exit Function

            Next i

        End If

        Asal_Sayi_Kontrol = "Asal sayi"

 

    End Function

Isteginize bagli daha karmasik fonksiyonlar yaratmak sizin elinizde fakat KTF’nin bazi kisitlamalari mevcuttur. En bilinen kisitlamalar ve dezavantajlari sunlardir:

1.      Bir hücrenin veya bir çalisma sayfasinin yapisini ve biçimini degistiremezsiniz.

2.      Formülü içeren hücre disinda baska bir hücreyi degistiremezsiniz.

3.    C++ veya FORTRAN dillerinde yazilan fonksiyonlardan daha yavas çalisirlar.

.

KTF’leri Eklenti olarak Excel’e tanitma

1.      Farkli Kaydet seçenegini seçin. (Kisayol: F12)

2.      Açilan Farkli Kaydet diyalog kutusundan Kayit Türü’nü Excel Eklentisi olarak seçin.

Bundan sonraki asamalar Excel 2007 ve Excel 2003 arasinda farklilik göstermektedir.

Excel 2007

1.       Excel’in sol üst kösesindeki Office butonunu tiklayin.

2.       Excel Seçenekleri butonunu tiklayin.

3.       Açilan Excel Seçenekleri formundan Eklentiler sekmesini seçin.

4.       Yönet Açilir Listesi’nde Excel Eklentileri seçili oldugundan emin olun ve Git butonuna tiklayin.

5.       Karsiniza gelen Eklentiler formunda Gözat butonuna tiklayin.

6.    Eklenti dosyanizi bulun ve Tamam butonuna tiklayin.

Tags:

3 thoughts on “Excel’de Kullanici Tanimli Fonksiyonlar (UDF = User Defined Functions)

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir