Worksheets ve Workbook Nesneleri
Excel VBA dünyasında her şey birer Nesne (Object) hiyerarşisine dayanır. Şimdiye kadar komutları doğrudan yazdık ancak Excel arka planda her zaman hangi dosyada (Workbook) ve hangi sayfada (Worksheet) işlem yaptığımızı bilmek zorundadır. Bu iki devasa nesneyi detaylıca tanıyalım.
Şirket Binası Metaforu
Bu hiyerarşiyi kafanızda kalıcı hale getirmek için devasa bir holding binası düşünün:
Workbook (Çalışma Kitabı)
Holdingin ta kendisidir (Yani açtığınız .xlsm uzantılı Excel dosyasının tamamı). Bilgisayarda açık olan tüm dosyaları temsil eder.
Workbooks("Rapor.xlsm").Activate
Worksheet (Çalışma Sayfası)
Binanın içindeki odalardır (Sayfa1, Sayfa2, Personel vb.). Dosyanın alt kısmında sekmeler halinde gördüğünüz sayfalardır.
Worksheets("Personel").Range("A1").Value = "Ali"
Neden Tam Adres (Hiyerarşi) Yazmalıyız?
Eğer sadece Range("A1").Value = 100 yazarsanız, Excel bunu o an ekranda açık olan aktif sayfaya yazar. Ancak siz başka bir arkadaki dosyadan veri alıp başka bir sayfaya yazdırmak istiyorsanız, mutlak suretle Workbooks("Dosya.xlsm").Worksheets("Sayfa1").Range("A1") şeklinde tam adres belirtmek zorundasınız.