İçeriğe geç
parazade

VBA Modülü Nedir?

İngilizce: VBA Module

Yayın: · Son güncelleme:

VBA Modülü Nedir? Kısaca

VBA modülü, Excel çalışma kitabında VBA kodlarının saklandığı kapsayıcıdır. Standart modül, sayfa ve çalışma kitabı modülleri, sınıf modülü ve UserForm modülü gibi türleri vardır.

VBA Modülü nedir?
İçindekiler
  1. VBA modülü nedir?
  2. Modül türleri
  3. Örnek
  4. Nelere dikkat etmeli?

VBA modülü nedir?

VBA modülü, çalışma kitabının içinde VBA kodlarının yazıldığı ayrı bir bölümdür. Bir klasördeki belgeler gibi düşünebilirsiniz: her modül bir ya da daha fazla makro içerir. Modüller VBA düzenleyicisindeki proje gezgininde listelenir.

Makro kaydedici kodu kendiliğinden bir standart modüle yazar. Elle kod yazacaksanız düzenleyicinin Insert menüsünden yeni bir modül eklersiniz.

Modül türleri

Tür Ne için kullanılır?
Standart modül Genel makrolar ve özel fonksiyonlar
Sayfa modülü O sayfada hücre değişince çalışan olay kodları
ThisWorkbook Dosya açılırken, kaydedilirken çalışan olay kodları
Sınıf modülü Kendi nesne türlerinizi tanımlamak
UserForm modülü Özel formun düğme ve kutularına ait kodlar

Örnek

Bir stok tablosunda adet sıfırın altına düştüğünde uyarı vermek istediğinizi varsayalım. Bu kod, Stok sayfasının modülüne Worksheet_Change olayı olarak yazılır ve yalnız o sayfada çalışır. Stok raporunu PDF olarak kaydeden genel makro ise standart modüle konur, böylece bir düğmeden ya da başka bir makrodan çağrılabilir.

Excel'de kendi fonksiyonunuzu yazmak istiyorsanız kod mutlaka standart modülde olmalıdır. Sayfa modülüne yazılan bir fonksiyon hücrede formül olarak kullanılamaz.

Nelere dikkat etmeli?

Modüllere anlamlı adlar vermek, büyüyen projelerde kodu bulmayı kolaylaştırır. Module1, Module2 yerine "RaporMakrolari" gibi adlar kullanın. Modüller dışa aktarılıp .bas dosyası olarak başka çalışma kitaplarına taşınabilir; bu yöntem kodu yedeklemek için de işe yarar.

Sıkça Sorulan Sorular

Yeni bir VBA modülü nasıl eklenir?

VBA düzenleyicisinde Insert menüsünden Module komutunu seçin. Proje gezgininde Modules klasörü altında Module1 gibi bir adla yeni modül belirir.

Kodu sayfa modülüne mi standart modüle mi yazmalıyım?

Her yerden çağrılacak genel makroları standart modüle yazın. Yalnız belirli bir sayfadaki değişikliğe tepki verecek olay kodları ise o sayfanın modülüne yazılır.

İlgili terimler