Bu makale VBA'daki ActiveSheet nesnesini tartışacaktır. Ayrıca nasıl etkinleştirileceğini, seçileceğini ve Çalışma Sayfalarına nasıl gidileceğini (ve çok daha fazlasını) tartışacaktır. VBA'da çalışma sayfalarıyla çalışma hakkında daha fazla bilgi için tam VBA Çalışma Sayfaları Kılavuzumuzu okuyun.
Etkin sayfa
VBA'da ActiveSheet, şu anda etkin olan Çalışma Sayfasına atıfta bulunur. Bir seferde yalnızca bir Sayfa etkin olabilir.
Çalışma Sayfasını Etkinleştir (ActiveSheet'i Ayarlama)
ActiveSheet'i ayarlamak için Worksheet.Activate'i kullanın:
1 | Worksheets("Giriş").Etkinleştir |
Sayfayı Etkinleştir komutu, görünen Sayfayı değiştirerek aslında sayfaya "gidecektir".
Yukarıdaki örnek, Sayfa (Sekme) adını kullanır. Bunun yerine çalışma sayfası için VBA kod adını kullanabilirsiniz:
1 | Sayfa1.Etkinleştir |
Etkin Sayfa Adı
ActiveSheet Adını almak için:
1 | msgbox ActiveSheet.name |
Seçili Sayfalar ve ActiveSheet karşılaştırması
Herhangi bir zamanda, ActiveSheet yalnızca bir Sayfa olabilir. Ancak, aynı anda birden fazla Çalışma Sayfası seçilebilir.
Birden çok Çalışma Sayfası seçildiğinde, yalnızca "en üstteki" Çalışma Sayfası etkin olarak kabul edilir (ActiveSheet).
Çalışma Sayfası Seç
Etkinleştirmek yerine bir çalışma sayfası seçmek istiyorsanız. Bunun yerine .Select'i kullanın.
Sekme Adına Göre Çalışma Sayfasını Seçin
Bu, Sayfa Sekmesi Adına göre bir Çalışma Sayfası seçer
1 | Sayfalar("Giriş").Seçin |
Dizin Numarasına Göre Çalışma Sayfasını Seçin
Bu, diğer sekmelere göre konumuna göre bir Çalışma Sayfası seçer
1 | Çalışma Sayfaları(1).Seç |
VBA Kod Adı ile Çalışma Sayfasını Seçin
1 | Sayfa1.Seçin |
Çalışma sayfalarını kod adına göre seçmek, çalışma sayfası adı değişikliklerinden kaynaklanan hataları önleyebilir.
Geçerli Çalışma Sayfasını Seç
Geçerli Çalışma Sayfasını seçmek için ActiveSheet nesnesini kullanın:
1 | ActiveSheet.Seç |
Daha Fazla Etkinleştir / Seç Sayfa Örnekleri
ActiveSheet'i Değişken olarak ayarlayın
Bu, ActiveSheet'i bir Çalışma Sayfası Nesne Değişkenine atayacaktır.
123 | Dim ws As Çalışma Sayfasıws = ActiveSheet'i ayarla |
ActiveSheet Adını Değiştir
Bu, ActiveSheet Adını değiştirecektir.
1 | ActiveSheet.Name = "YeniAd" |
ActiveSheet ile
With İfadesini kullanmak, nesnelerle (E-Tablolar veya ActiveSheet gibi) çalışırken kodunuzu kolaylaştırmanıza olanak tanır.
12345 | ActiveSheet ile.Name = "StartFresh".Hücreler.Temizle.Range("A1").Value = .Nameİle bitmek |
Her kod satırından önce "ActiveSheet"i tekrarlamanız gerekmediğine dikkat edin. Bu, uzun bir komut listesiyle çalışırken büyük bir zaman tasarrufu sağlayabilir.
Seçili Sayfalarda Döngü
Aşağıdaki makro, seçilen tüm sayfalar arasında dolaşarak adlarını görüntüleyecektir.
12345678 | Alt GetSelectedSheetsName()Dim ws As Çalışma SayfasıActiveWindow.SelectedSheets'deki Her ws içinMsgBox ws.NameSonrakiAlt Bitiş |
Sonraki Sayfaya Git
Bu kod bir sonraki Sayfaya gidecektir. ActiveSheet son Sayfa ise, Çalışma Kitabındaki ilk Sayfaya gidecektir.
12345 | ActiveSheet.Index = Worksheets.Count iseÇalışma Sayfaları(1).EtkinleştirBaşkaActiveSheet.Sonraki.EtkinleştirBitir |