Vba nesneleri: kolay resimli açıklama
Visual Basic for Applications nesne yönelimli bir dildir ve bundan en iyi şekilde yararlanmak için Excel nesnelerini anlamanız gerekir. Excel’de kullandığınız çalışma kitabı farklı nesnelerden oluşur.
Ve bir nesneye eklenmiş, erişebileceğiniz çeşitli özellikler ve bir nesne üzerinde/nesneyle birlikte kullanabileceğiniz çeşitli yöntemler vardır. Bunu bir örnekle anlayalım.
Ürünler için farklı bölümleri olan büyük bir bakkal düşünün ve bu bölümlerde ayrıca raflar var ve bu rafların içinde ürünler var.
Yani kıyafet satın almak istiyorsanız giyim bölümüne gitmeniz gerekiyor ve giyim bölümünde kadın ve erkeklere yönelik alt bölümleriniz olabiliyor.
Ve bir kumaş seçtiğinizde, o kumaşın belirli bir rengi, boyutu ve kumaşı olacaktır (bunlar o kumaşın özellikleridir).
Benzer şekilde VBA’da hiyerarşik olarak yapılandırılmış nesneler vardır.
VBA Nesne Modeli (Hiyerarşi)
Excel uygulamasında bir çalışma kitabını açtığınızda, o çalışma kitabında bir çalışma sayfanız (veya birden fazla çalışma sayfanız) olur ve o çalışma sayfasında hücreler ve hücre aralığı bulunur.
Excel hiyerarşisi Excel Uygulaması ile başlar ve bu hiyerarşiyi tanımlayan yapı aşağıdadır:
Diyelim ki bir çalışma kitabına başvuruda bulunmak istiyorsanız yazdığınız kodun şöyle görünmesi gerekir:
Yukarıdaki kodda “Kitap1” çalışma kitabından bahsediyorsunuz.
Yazdığınız şey, öncelikle Excel uygulamasından bahsettiğiniz ve Uygulama nesnesinin bir parçası olan “Çalışma Kitapları”nı kullandığınızdır.
Şimdi daha ileri gitmek istediğinizi ve “Kitap1” çalışma kitabındaki bir çalışma sayfasına başvurmak istediğinizi varsayalım ve ilgili kod şöyle olacaktır:
Bunun ne anlama geldiğini biliyorsun, değil mi? Ama sana söyleyeyim. Yukarıdaki kodda “Kitap1” çalışma kitabına atıfta bulunduktan sonra, çalışma kitabının bir diğer parçası olan “Sayfa1” çalışma sayfasına da başvurmuş oldunuz.
Biraz daha ileri gidelim. “Sayfa1” çalışma sayfasındaki belirli bir hücreye bakalım ve karşılık gelen kod şöyle olacaktır:
Sormadan önce şunu söyleyeyim. Yukarıdaki kodda “Kitap1” çalışma kitabının “Sayfa1” çalışma sayfasında bulunan A1 hücresinden bahsettiniz.
Bir Range nesnesine bu şekilde başvurduğunuzda buna tam nitelikli başvuru denir.
Not: Uygulama nesnesinin kullanılması isteğe bağlıdır. Sebep? VBA’da bir şey yaptığınızda zaten Excel uygulamasının içindesiniz.
Bir nesneye yapılan referansı basitleştirin
Yukarıdaki kodda tam nitelikli bir referans kullandınız. Bu, VBA’ya hangi çalışma kitabına, çalışma sayfasına ve hücreye başvuracağınızı söyleyeceğiniz anlamına gelir. Peki ya zaten 1. Kitap çalışma kitabındaysanız?
Bu durumda, aşağıdaki kodda olduğu gibi, bir hücreye başvuruda bulunmak istediğiniz çalışma sayfasına başvurabilirsiniz:
Ayrıca, “Sayfa1” çalışma sayfası etkinse, aşağıdaki kodda olduğu gibi hücreye veya hücre aralığına basitçe başvurabilirsiniz:
VBA nesneleri hakkında daha fazla bilgi edinin: VBA Çalışma Kitabı Nesnesi | VBA Elektronik Tablo Nesnesi | VBA Aralığı Nesnesi