Kurumsal IT-Teknoloji Eğitimleri-Eğitim Takvimi

VBA ile Özel Excel Fonksiyonları Oluşturmak

VBA ile Özel Excel Fonksiyonları Oluşturmak

Bilindiği üzere Excel fonksiyonları kullanarak sonuçlar aldığımız bir paket program fakat her zaman istediğimiz sonuçlara ulaşmak için birden çok fonksiyon ya da araç kullanmamız gerekebiliyor. İşte bu durumlarda işimizi görebilecek birden fazla fonksiyon barındıran özel fonksiyonları vba(Visual Basic Application for Excel) ile oluşturabiliriz.

Fonksiyon oluşturmak aslında bir makro yazma işlemidir. Normal makrolardan farkı bir tetikleme işlemine ihtiyaç duymamasıdır( Kitabın açılması, buton tıklamak ya da bir kısa yolu çağırmak…). Excel Fonksiyonları hücre değişimlerinde otomatik olarak çalışır bunun sonucunda da excel dosyalarının ağır açılması ve çalışmasından şikâyet ederiz bunun sebeplerinden biri sayfamızda çok fazla fonksiyon bulunmasıdır. Oluşturacağımız fonksiyonda kendiliğinden çalışacak bir makrodur.

Standart makrolar genellikle Sub (Subroutine) İle başlar ve End Sub ile sonlanırken fonksiyon makrolar ile Function ile başlar ve End Function ile sonlanır.

Normal makrolara VBA ekranından RUN işlemi yapılabilirken fonksiyon makrolar ise excel sayfasından çağırılarak çalıştırılabilir.

Örneğin seçilen aralıkta aradığınız verinin adresini bulabilen bir fonksiyon oluşturalım.

Function ozel(aralik as range,aranan as variant) bu satır ile fonksiyonumuzun ismini ve dışarıdan alacağı parametreleri belittik.

VBA Tarafında kodlarımızı yazdıktan sonra excel sayfasına geçip sonucu göstermek istediğimiz hücreye =ozel dedikten sonra gerekli parametreleri giriyoruz.

Kodun Tamamı:

Function ozel(aralik As Range, aranan As Variant)

For Each a In aralik

If a.Value = aranan Then

    ozel = a.Address

    Exit For

End If

Next

End Function

Ufuk ÇAĞLAYAN 

DANISMAN / YAZILIM VE VERITABANI BIRIMI, KURUMSAL YAZILIM VE VERITABANI BIRIMI