Fonksiyonlar hk.

Katılım
24 Kasım 2007
Mesajlar
4
Excel Vers. ve Dili
2002-Tr
Arkadaşlar, VBA'da fonksiyon oluştururken Public veya Private olması bize ne sağlar? yani aralarındaki fark nedir? :)
 
Son düzenleme:
Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
Arkadaşlar, VBA'da fonksiyon oluştururken Public veya Private olması bize ne sağlar? yani aralarındaki fark nedir? :)

Aşağıda iki basit Function örneği verilmiştir. Bunları VBE'de standart bir modül sayfasına kopyalayınız.

Kod:
Public Function Deneme1()
    Deneme1 = Deneme2
End Function
[COLOR=darkgreen]'-----------------------[/COLOR]
Private Function Deneme2()
    Deneme2 = "x"
End Function
Şimdi, Excel'e geçiniz ve Fonksiyon sihirbazından "Kullanıcı Tanımlı Fonksiyonlar" kategorisini seçin. Deneme1 adlı fonksiyonu görüyor ama Deneme2 adlı fonksiyonu göremiyor olmalısınız.

Herhangi bir hücreye =Deneme1() yazdığınızda, o hücreye "X" yazar. Ama Public olarak tanımladığımız Deneme1 fonksiyonu tek başına "X" değerinin üretemez. Private olarak belirlediğimiz ve sadece özel durumlar için çalışmasını beklediğimiz Deneme2'yi çalıştırır ve onun ürettiği değeri alır ...

Yani, "Private olarak bir fonksiyonu belirlemek" demek, o fonksiyonu direkt olarak formülleyemeyeceğiniz anlamına gelir. Private functionlar, özel durumlarda, bir ara değer üretmede kullanılır.
 
Üst