Excell VBA-Modüller ve Prosedürler

Modüller, VBA makro kodları yazılan kod sayfalarıdır. Fonksiyonlar ve temel prosedürler ise çalıştırılacak kod parçaları oluşturabilecek iki yöntemdir. Modüller, çalışma sayfalarındaki yeni bir çalışma sayfası eklenmesi veya çalışma sayfasının kapatılması gibi olaylarla çalışmazlar. Modüller genel anlamda prosedürlerin tanımlanması için vardır.

VBA projelerinde gerekli fonksiyonların ve prosedür olarak bilinen temel prosedürlerin depolaması için en az bir modül bulunmalıdır. Yeni bir modül eklemek için Visual Basic düzenleyicisinin Insert sekmesinden Module seçildiğinde eklenen yeni modül ekrana gelecektir.

Modüllere temel prosedür ve fonksiyon prosedürleri girilebilir ve temel prosedür ve fonksiyon prosedürleri Public veya Private olarak tanımlanabilir. Public ve Private tanımlama arasındaki fark aynı çalışma kitabındakş diğer modüller tarafından prosedüre ulaşıp ulaşılamayacağıdır. Eğer kodu Private olarak tanımlamışsak sadece bulunduğu çalışma kitabındaki bulunduğu prosedürde kullanılabilirken, kod Public olarak tanımlanmışsa bulunduğu çalışma kitabındaki herhangi bir modüldeki diğer prosedürler tarafından da kullanılabilir. Eğer uygulamanın başka yerlerinde kullanılması düşünüllen bir prosedür varsa bu prosedür Private olarak tanımlanmalıdır.

Prosedür Nedir ?

Belirli bir işi yapmak için oluşturulmuş ve adlandırılmış kod bloklarıdır. Bazen kod yazarken aynı işlem için aynı kodu defalarca yazmak gerekir. Bu durumda kodu içeren prosedürü yazıp ihtiyaç halinde çağırmak birçok yarar sağlayacaktır. VBA dilinde 2 tür prosedür vardır; Değer döndüren ve Değer döndürmeyen prosedürler. 1.si Fonksiyonlardır bunu bir sonraki yazımda anlatacağım.

Basit bir prosedür örneği yapalım. Mesela bir sayının karekönü alan bir prosedür. Excell sayfamızı açıp Alt+F11 tuşuyla VBA düzenleyecisini açalım. Insert’e tıklayıp yeni bir Modül açalım ve aşağıdaki kodları yazalım.

Bunu yazdıktan sonra çalıştırmak için 2 farklı seçeneğimiz var. 1.si VBA düzenleyicisi üzerinden çalıştırmak. 2.si ise Worksheet üzerinden çalıştırmak. Öncelikle 1.sini yapalım. Üst tarafta gördüğünüz play tuşuna benzeyen yeşil tuşa veya F5 komutuyla programımız çalışabilir.

2. yöntemimizi uygulayalım. Bunun için bir nesne kullanalım ve o nesneye makro atayıp makromuzu o nesne üzerinden çalıştıralım. Öncelikle resmimizi excell çalışma sayfasına ekliyoruz. Resmin üzerine sağ tıklayıp makro ata diyoruz. Gelen pencereden istediğimiz makroyu seçiyoruz.

 

 

 

Bir yorum ekleyin

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir