22 Ağustos 2014 Cuma

Excel’de Kullanıcı Tanımlı Fonksiyonlar (UDF = User Defined Functions)

Excel’de Kullanıcı Tanımlı Fonksiyonlar (UDF = User Defined Functions)
Excel’de tanımlı yüzlerce standart fonksiyon olmasına rağmen bazen bu fonksiyonlar ihtiyaçlarınızı karşılayamaz veya bu fonksiyonları iç içe kullanmak zorunda kalıp uzun fonksiyonların içinde kaybolursunuz. Bu makalenin ilk bölümünde Excel’de kullanıcıların kendi fonksiyonlarını tanımlamalarını ve ikinci bölümde ise bunları eklenti olarak Excel’e tanıtmayı öğreneceksiniz. Fonksiyonlar için orta seviyede Visual Basic 6.x bilgisi yeterli olacaktır.
Kullanıcı Tanımlı Fonksiyon (KTF) Nasıl Oluşturulur?
1.      Yeni bir Excel kitabı açın.
2.      Visual Basic Düzenleyicisi’ni başlatın. (Kısayol: Alt + F11)
3.      Yeni bir modül ekleyin. (Insert -> Module)
4.      Module1 adlı modülün içine kendi fonksiyonunuzu yazın.
5.      Visual Basic Düzenleyicisi’ni kapatın. (Kısayol: Alt+Q ya da Alt+F4)
6.      İşlev Ekle butonuna tıklayın. (Kısayol: Shift + F3) 
7.      Kullanıcı Tanımlı kategorisini seçin. Karşınızda sizin yarattığınız fonksiyonlar görünecektir.
Basit bir KTF
Bu örnek kullanıcının belirttiği iki kenar uzunluğunu kullanarak bir dik üçgenin hipotenüs uzunluğunu hesaplar.
Function Hipotenus_Hesaplama(ByVal Kenar_Uzunlugu_1 As IntegerByValKenar_Uzunlugu_2 As IntegerAs Double

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

   End Function

Biraz daha karmaşık bir KTF
Bu örnek ise kullanıcının belirlediği bir sayının asal sayı olup olmadığını kontrol eder ve sonucu “Asal sayı” veya “Asal Sayı Değil” olarak döndürür.
    Function Asal_Sayi_Kontrol(ByVal Sayi As IntegerAs String

        Dim i As Integer

‘Sayı çift ise veya 2’den küçük bir sayı ise döngüye girmeden sonuç döndürülür
        If i Mod 2 = 0 or i < 2 Then
            Asal_Sayi_Kontrol = "Asal sayı değil"
        Else
            For i = 3 To Math.Sqr(Sayi) Step 2
                If Sayi Mod i = 0 Then Asal_Sayi_Kontrol = "Asal sayı değil"Exit Function
            Next i
        End If
        Asal_Sayi_Kontrol = "Asal sayı"

    End Function
İsteğinize bağlı daha karmaşık fonksiyonlar yaratmak sizin elinizde fakat KTF’nin bazı kısıtlamaları mevcuttur. En bilinen kısıtlamalar ve dezavantajları şunlardır:
1.      Bir hücrenin veya bir çalışma sayfasının yapısını ve biçimini değiştiremezsiniz.
2.      Formülü içeren hücre dışında başka bir hücreyi değiştiremezsiniz.
3.    C++ veya FORTRAN dillerinde yazılan fonksiyonlardan daha yavaş çalışırlar.
KTF’leri Eklenti olarak Excel’e tanıtma
1.      Farklı Kaydet seçeneğini seçin. (Kısayol: F12)
2.      Açılan Farklı Kaydet diyalog kutusundan Kayıt Türü’nü Excel Eklentisi olarak seçin.
Bundan sonraki aşamalar Excel 2007 ve Excel 2003 arasında farklılık göstermektedir.
Excel 2007
1.       Excel’in sol üst köşesindeki Office butonunu tıklayın.
2.       Excel Seçenekleri butonunu tıklayın.
3.       Açılan Excel Seçenekleri formundan Eklentiler sekmesini seçin.
4.       Yönet Açılır Listesi’nde Excel Eklentileri seçili olduğundan emin olun ve Git butonuna tıklayın.
5.       Karşınıza gelen Eklentiler formunda Gözat butonuna tıklayın.
6.    Eklenti dosyanızı bulun ve Tamam butonuna tıklayın.

Hiç yorum yok:

Yorum Gönder