Bu eğitim, VBA'daki Sayfa adlarıyla etkileşimi kapsayacaktır.
Sayfa Adını Al
Sayfa adları şurada saklanır: İsim mülkü Çarşaflar veya çalışma sayfaları nesne. Sayfa Adı, Excel'in altında görünen "sekme" adıdır:
ActiveSheet Adını Alın
Bu, ActiveSheet adını bir mesaj kutusunda görüntüler:
1 | MsgBox ActiveSheet.Name |
Dizin Numarasına göre Sayfa Adını Al
Bu, bir mesaj kutusunda ilk çalışma sayfası adını görüntüler:
1 | MsgBox Sayfaları(1).Ad |
Bu, çalışma kitabındaki son çalışma sayfasının adını görüntüler:
1 | MsgBox Sheets(Sheets.Count).Ad |
Sayfa Adını Kod Adına Göre Alın
VBA Düzenleyicide, bir Sayfanın "kod adını" değiştirme seçeneği vardır. Kod adı Excel kullanıcısı tarafından görülmez ve yalnızca VBA Düzenleyicisi'nde görülebilir:
VBA'da, E-Tablolar ile çalışırken normal Sekme adına başvurabilirsiniz:
1 | Sheets("TabName").Etkinleştir |
veya VBA kod adı:
1 | KodAdı.Etkinleştir |
Sayfa sekmesi adının değişmesi durumunda kod adına başvurmak istenir. Excel kullanıcınızın değişen sayfa adlarına erişmesine izin verirseniz, Sayfa sekmesi adı uyuşmazlığının bir hataya neden olmaması için VBA kodunuzdaki kod adına başvurmalısınız. Sayfa kod adları burada daha ayrıntılı olarak tartışılmaktadır.
VBA Kodu adını kullanarak Sayfa adını almak için aşağıdakileri yapın:
1 | MsgBox KodAdı.Adı |
Sayfayı Yeniden Adlandır
ayarlayarak E-Tablolar'ı yeniden adlandırabilirsiniz. isim mülkü Çarşaflar veya çalışma sayfaları nesne.
ActiveSheet'i yeniden adlandır
1 | ActiveSheet.Name = "YeniAd" |
Sayfayı Ada Göre Yeniden Adlandır
1 | Sheets("OldSheet").Name = "NewName" |
Sayfayı Sayfa Dizin Numarasına Göre Yeniden Adlandır
Burada, Çalışma Kitabındaki ilk Sayfayı yeniden adlandırmak için 1 kullanıyoruz.
1 | Sheets(1).Name = "YeniAd" |
Sayfayı Kod Adına Göre Yeniden Adlandır
Bu kod, bir sayfayı VBA kod adını kullanarak yeniden adlandırır (yukarıda tartışılmıştır):
1 | Component.Name = "YeniAd" |
Sayfa Adının Var Olup Olmadığını Kontrol Edin
Belirli bir ada sahip bir Sayfanın zaten var olup olmadığını test etmek için bir işlev oluşturduk.
123456789101112 | 'Bir Sayfada Bir Aralığın Olup Olmadığını Test Edin.'Sayfa olup olmadığını test etmek için aralığı boş bırakınGirdiler:WhatSheet - Sayfanın Dize Adı (ör. "Sayfa1")WhatRange (İsteğe bağlı, Varsayılan = "A1") - Aralığın Dize Adı (ör. "A1")İşlev RangeExists(WhatSheet As String, İsteğe Bağlı ByVal WhatRange As String = "A1") Boolean OlarakAralık olarak Dim testiHatada Devam Et SonrakiSet testi = ActiveWorkbook.Sheets(WhatSheet).Range(WhatRange)RangeExists = Err.Number = 0Hatada GoTo 0Bitiş İşlevi |
İşlev, Sayfa varsa DOĞRU, yoksa YANLIŞ döndürür.
İşlevi şu şekilde kullanın:
123 | Alt Test_SheetExists()MsgBox RangeExists("kurulum")Alt Bitiş |
Sayfayı Kopyala ve Yeniden Adlandır
Bu örnek, Sayfaları Kopyalama hakkındaki makalemizden alınmıştır.
Bir Sayfayı kopyalayıp yapıştırdıktan sonra, yeni oluşturulan sayfa ActiveSheet olur. Bu nedenle, kopyalanan bir Sayfayı yeniden adlandırmak için ActiveSheet.Name'i kullanmanız yeterlidir:
12345678 | Alt CopySheetRename2()Sheets("Sheet1").Copy After:=Sheets(Sheets.Count)Hatada Devam Et SonrakiActiveSheet.Name = "Son Sayfa"Hatada GoTo 0Alt Bitiş |
Not: Sayfa adı zaten varsa, hataları önlemek için hata işleme ekledik.