Excel VBA nesneleri, kod ve verilerden oluşan tek "varlıklara" atıfta bulunur. Excel uygulamasının kendisi, çalışma kitapları, çalışma sayfaları, hücre aralıkları ve şekiller gibi bir nesnedir. Her nesnenin ilişkili özellikleri ve yöntemleri vardır. Nesneler ayrıca başka nesneler de içerebilir ve koleksiyon nesnesi, aynı Excel nesnelerinin bir grubuna başvurmak için kullanılır.
Bu derste, yaygın olarak kullanılan bazı Excel Nesnelerine bakacağız.
Uygulama Nesnesi
Uygulama Nesnesi, tüm Excel uygulamasını ifade eder. Uygulama nesnesi, çalışma kitabı nesnesini içerir.
Aşağıdaki kod, Excel penceresini mevcut maksimum boyuta ayarlamak için Application nesnesinin WindowState özelliğini kullanır:
12345 | Alt MaximizingTheExcelWindow()Application.WindowState = xlMaximize EdildiAlt Bitiş |
Çalışma Kitapları Nesnesi
Çalışma Kitapları nesnesi, şu anda açık olan tüm Excel çalışma kitaplarının koleksiyonunu ifade eder.
Aşağıdaki kod, yeni bir çalışma kitabı oluşturmak ve onu koleksiyona eklemek için Workbooks.Add yöntemini kullanır:
12345 | Alt EklemeANewWorkbookToTheWorkbooksCollection()Çalışma kitapları.EkleAlt Bitiş |
Çalışma Kitapları koleksiyonundaki tek bir çalışma kitabına dizin numarası veya adı aracılığıyla erişebilirsiniz. Böylece Çalışma Kitaplarını (“ExcelWB”) kullanarak ExcelWb adlı bir Çalışma Kitabına başvurabilirsiniz.
Çalışma Kitabı Nesnesi
Çalışma kitabı nesnesi, Çalışma Kitapları koleksiyonunun bir parçasıdır. Çalışma kitabı nesnesi, çalışma sayfaları koleksiyonunu (çalışma sayfaları) ve sayfa koleksiyonunu (çalışma sayfaları, grafik sayfaları ve makro sayfaları) içerir. ActiveWorkbook nesnesi, etkin olan çalışma kitabına başvurur.
Aşağıdaki kod, geçerli etkin çalışma kitabını kaydetmek için ActiveWorkbook.Save yöntemini kullanır:
12345 | Sub SavingTheWorkbook()ActiveWorkbook.KaydetAlt Bitiş |
Sayfa Nesnesi
Sayfa nesnesi, bir çalışma kitabındaki tüm çalışma sayfalarının, grafik sayfalarının ve makro sayfalarının koleksiyonunu ifade eder. Aşağıdaki kod, çalışma kitabındaki son çalışma sayfasından sonra ExtraSheet adlı yeni bir çalışma sayfası eklemek için Sheets.Add yöntemini kullanır:
123456 | Alt EklemeANewSheet()ActiveWorkbook.Sheets.Add(Sonra:=ActiveWorkbook.Worksheets(Worksheets.Count), Sayı:=1, _Type:=xlWorksheet).Name = "EkstraSayfa"Alt Bitiş |
Sheets.Add yönteminin sözdizimine dikkat edin:
Sayfalar.Ekle(Önce, Sonrasında, Saymak, Tip) nerede:
-Önce isteğe bağlıdır ve yeni sayfanın mevcut bir sayfadan önce eklenmesi gerektiğini belirtir.
-Sonra isteğe bağlıdır ve yeni sayfanın mevcut bir sayfadan sonra eklenmesi gerektiğini belirtir.
-Sayım isteğe bağlıdır ve eklenecek sayfa sayısını belirtir.
-Tür isteğe bağlıdır ve sayfa türünü belirtir. xlWorksheet yeni bir çalışma sayfası ekler, xlChart yeni bir grafik sayfası ekler ve xlExcel4MacroSheet veya xlExcel4IntlMacroSheet yeni bir makro sayfası ekler. Boşsa, varsayılan xlWorksheet kullanılır.
E-Tablolar koleksiyonundaki tek bir sayfaya dizin numarası veya adıyla erişebilirsiniz. Böylece Sheets(“SheetOne”) kullanarak SheetOne adlı bir Çalışma Sayfasına başvurabilirsiniz.
Çalışma Sayfası Nesnesi
Çalışma Sayfaları nesnesi, bir çalışma kitabındaki tüm çalışma sayfalarının koleksiyonunu ifade eder. Aşağıdaki kod, yeni bir çalışma sayfası eklemek için Worksheets.Add yöntemini kullanır:
12345 | Alt EklemeANewSheet()Çalışma Sayfaları.EkleAlt Bitiş |
Çalışma Sayfaları koleksiyonundaki tek bir sayfaya dizin numarası veya adı aracılığıyla erişebilirsiniz. Böylece, Çalışma Sayfalarını (“SheetTwo”) kullanarak SheetTwo adlı bir Çalışma Sayfasına başvurabilirsiniz.
Çalışma Sayfası Nesnesi
Çalışma sayfası nesnesi, Çalışma Sayfaları koleksiyonunun bir parçasıdır. Çalışma sayfası nesnesi, aralık nesnesini ve diğer nesneleri içerir. ActiveSheet nesnesi, etkin olan sayfaya başvurur.
Aşağıdaki kod, etkin sayfanın sayfa yönünü yatay olarak değiştirir:
12345 | Alt ChangeOrientationToLandscape()ActiveSheet.PageSetup.Orientation = xlLandscapeAlt Bitiş |
Sheet nesnesinin PageSetup nesnesini içerdiğini ve oryantasyon özelliğinin xlLandscape olarak ayarlandığını unutmayın.
Menzil Nesnesi
Range nesnesi, bir çalışma sayfasındaki tek bir hücreye veya bir dizi hücreye başvurabilir. Aşağıdaki kod, A1:B1 hücrelerini seçmek için Range.Select yöntemini nasıl kullanacağınızı gösterir:
12345 | Alt SeçimARange()Aralık("A1:B1").SeçAlt Bitiş |
Şekiller Nesnesi
Shapes nesnesi, bir çalışma sayfasındaki tüm şekillerin koleksiyonunu ifade eder. Aşağıdaki kod, ActiveSheet'teki tüm şekilleri seçer:
12345 | Alt SelectingAllTheShapes()ActiveSheet.Shapes.SelectAllAlt Bitiş |
Şekil Nesnesi
Shape Object, Shapes koleksiyonunun bir parçasıdır. Aşağıdaki kod, yuvarlatılmış bir dikdörtgen şekli oluşturacak ve ardından şekil nesnesinin name özelliğini ayarlayacaktır:
123456789 | TheShapeObject() Kullanarak AltWorksheets(1).Shapes.AddShape(msoShapeRoundedRectangle, _ ile)200, 100, 80, 80).Name = "Yuvarlak Bir Dikdörtgen"İle bitmekAlt Bitiş |
Excel VBA Nesne Modeli
Excel'in VBA Nesne modeli, Excel'de kullanabileceğiniz tüm nesnelerin hiyerarşisini açıklar. Örneğin, Çalışma Kitapları nesnesini diğer tüm nesnelere dolaylı veya doğrudan başvurmak için kullanabilirsiniz. Aşağıdaki kod, hiyerarşik yapıyı kullanarak A1 hücresini nasıl seçeceğinizi gösterir:
12345 | Alt KullanımTheHierachicalStructure()Çalışma Kitapları("Kitap1").Çalışma Sayfaları("Sayfa1").Aralık("A1").SeçAlt Bitiş |
Bir Nesne Değişkeni Bildirme ve Atama
Dim ve Set anahtar sözcüklerini kullanarak bir nesneyi bildirebilir ve bir değişkene atayabilirsiniz.
Örneğin:
12 | Dim ws çalışma sayfası olarakws = ActiveWorkbook.ActiveSheet olarak ayarla |
Aşağıdaki kod, bir Range nesnesini bir değişkene nasıl bildireceğinizi ve atayacağınızı gösterir:
12345678910111213141516 | Alt AtamaARangeToAVariable()Dim rngOne As ObjectrngOne = Aralık ("A1:C1") olarak ayarlayınrngOne.Font.Bold = DoğrurngOne ile.Font.Bold = Doğru.Font.Name = "Calibri".Font.Size = 9.Font.Color = RGB(35, 78, 125).İç.Renk = RGB(205, 224, 180).Borders(xlEdgeBottom).LineStyle = xlSürekliİle bitmekAlt Bitiş |
Sonuç:
VBA'da ustalaşmak için nesnelerin nasıl çalıştığını anlamak önemlidir. Etkileşimli VBA Eğitimimiz ile daha fazlasını öğrenebilirsiniz.