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.

Fonksiyon yazımını tamamladıktan sonra sonucu ortaya çıkartmış oluyoruz. Hücre adresi değiştiğinde de otomatik olarak fonksiyonun sonucunu güncellediğini görebilirsiniz.

 

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

İlk yorum yapan olun

Bir yanıt bırakın

E-posta hesabınız yayımlanmayacak.


*