Excel Formül
Modül 6: İleri Düzey Fonksiyonlar ve Rapor Otomasyonu

Excel'de Özel (Kullanıcı Tanımlı) Fonksiyon - UDF Yazmak

Excel'de yüzlerce yerleşik formül vardır (TOPLA, ORTALAMA, DÜŞEYARA vb.). Ancak bazen şirketinize özel öyle karmaşık hesaplamalar gerekir ki standart formüller yetersiz kalır. İşte bu noktada VBA ile kendi özel formülünüzü yazabilir ve doğrudan hücre içine =KDV_HESAPLA(A1) şeklinde yazarak kullanabilirsiniz. Buna UDF (User Defined Function) denir.

Sub ile Function Arasındaki Fark Nedir?

Şimdiye kadar kodlarımızı hep Sub (Makro) olarak yazdık. Sub'lar bir düğmeye basılarak çalıştırılır ve doğrudan hücreye sonuç döndürmez. Function ise tıpkı Excel'in kendi formülleri gibi dışarıdan veri alır, bir hesaplama yapar ve sonucu hücreye geri verir.

Örnek Özel Fonksiyon Kodu

' KDV dahil tutarı hesaplayan özel fonksiyonumuz
Function KDVliFiyat(tutar As Double) As Double
    KDVliFiyat = tutar * 1.20
End Function

Canlı Simülatör: Özel Fonksiyon ile Fiyat Hesaplama

Aşağıdaki tabloda A1 hücresinde ham fiyat yer almaktadır. B1 hücresine yazdığımız =KDVliFiyat(A1) özel fonksiyonu çalıştırıldığında sonucun nasıl hesaplandığını görün. Kodu Çalıştır butonuna basın.

Visual Basic Editörü
Module1 (Function)
Function KDVliFiyat(tutar As Double) As Double
    ' %20 KDV ekleyerek sonucu döndür
    KDVliFiyat = tutar * 1.20
End Function
Canlı Excel Sayfası
=KDVliFiyat(A1)
A (Ham Fiyat)
B (Özel Fonksiyon Sonucu)
1
1000 ₺
Microsoft Excel ✕
Özel fonksiyon başarıyla hesaplandı!