VBA KODLARI (MAKROLAR) NEREYE YAZILMALI?
VBA KODLARI (MAKROLAR) NEREYE YAZILMALI?
Genel bir kural olarak, Sheet (sayfa) modülleri ve ThisWorkbook (kitap) modülü yalnızca olay prosedürleri içeren kodların yazılması için en uygunudur.
Diğer tüm kodlar normal kod modüllerinde sınıf ve kullanıcı formlarında yer almaları doğru bir yöntemdir.
Aslında VBA kodunu bir çalışma kitabında saklayabildiğimiz 5 farklı alan var. Bunların her birini Proje Gezgini penceresinde (Ctrl + R) VB Düzenleyicisinde görebiliriz.
Bunlar;
- Kod Modülleri– Kod modülleri, makroları depoladığımız en yaygın yerdir. Modüller çalışma kitabındaki Modüller klasöründe bulunur.
- Sheet(Sayfa) Modülleri– Çalışma kitabındaki her sayfa, Microsoft Excel Nesneleri klasöründe sayfa nesnesine sahiptir. Sayfa nesnesini çift tıklattığınızda, olay yordamlarını (makrolar) ekleyebildiğimiz kod modülü açılır. Bu makrolar, kullanıcı tabloda belirli bir işlem gerçekleştirdiğinde çalıştırılır.
- ThisWorkbook (Kitap) Modülü – Her çalışma kitabı, Microsoft Excel Nesneleri klasörünün altında bir ThisWorkbook nesnesi içerir. Kullanıcı çalışma kitabında / içinde işlem yaparken çalıştırılan olaya dayalı makroları kullanabiliriz.
- Userform (Kullanıcı formları) – Kullanıcı formları, açılır menüler, liste kutuları, onay kutuları, düğmeler vb. gibi kontroller ekleyebileceğiniz etkileşimli formlar veya pencerelerdir. Her bir kullanıcı formu Formlar klasöründe saklanır ve çalıştırılacak makroları koyabileceğimiz bir kod modülü vardır. Form açıkken ve / veya kullanıcı formdaki denetimlerle etkileşime girer.
- Class (Sınıf ) Modülleri– Sınıflar, Sınıf Modülleri klasöründe saklanır. Nesneler, özellikler ve yöntemleri oluşturmak için makrolar oluşturabiliriz. Sınıflar, Nesne Kitaplığı’nda bulunmayan özel nesneler veya koleksiyonlar oluşturmak istediğimizde kullanılabilir.
Proje Gezgini Penceresindeki bu nesnelerden herhangi birinde> Kodu (klavye kısayolu: F7) çift tıklattığınızda veya fareyi sağ tıkladığımızda, kod penceresi VB Düzenleyicinin sağ tarafında açılır. Kod penceresi, her bir nesne için aynı görünür.
İ.Serdar
Son Yorumlar