Sayfa İsmi, Referans ismi ve VBA ile kod isminin değiştirilmesi


Sayfa ismi, Excel’de çalışma sayfasında worksheet sekmelerinde gördüğünüz isimdir, Referans ismi ise VBE editöründen erişilebilen ve prosedürlerde sayfaya referans vermek için kullanılabilen isimdir.Yeni bir sayfa yarattığınızda sayfanın ismi gibi referans ismi de otomatik olarak excel tarafından verilir.Sayfa adı değiştirilse de referans adı aynı kalır. Sayfa isminde boşluk bulunabilir, türkçe karakter kullanılabilir fakat referans isminde türkçeye has karakterler ve boşluk ve sair karakterler bulunamaz.

 

Sayfa sekmeleri çubuğunda “Sayfa İsimleri”

 

VB Editöründe Properties penceresi.

Visual Basic editöründe bir sayfanın properties penceresinden özelliklerine baktğınızda sayfanın ismini Name özelliğinin değeri olduğunu görürsünüz. Referans ismi ise aynı pencerede (Name) (   Name değil (Name)) özelliğinin değeridir .Kod ismi buradan elle değiştirilebilir.

VBA içinde bu iki isim kullanılarak da sayfaya erişilebilir. Kod ismi doğrudan o sayfa objesinin ismi olduğundan doğrudan kullanılabilir. Sayfa ismini kulanmak daha dolaylı bir yol gerektiri. Mesela sayfa adını kullanarak Sayfa1 isminde ve Sayfa1Ref referans ismindeki  excel çalışma sayfasında bir hücreye;

şeklinde, aynı hücreye referans ismi kullanarak

şeklinde erişilir.

Kod içerisinde sayfa ismini kullanamanın sakıncaları çoktur. Bir ker sayfa ismi kolayca değiştirilebilir, o zaman kodun da değiştirilmesi gerekir. Sayfa isminde türkçe karakter  ve boşluk var ise dil non-unicode program dili ingilizce ayarlanmış bir windows üzerinde sorunlar yaşanır. En iyisi refrans isimlerini kullanmaktır. Fakat çok sayıda sayfa içeren bir çalışma kitabında, eğer müdahale etmemişseniz, referans isimleri ayırt etmeyi güçleştirecek bir haldedir.  Elle hepsini tek tek düzeltebilirsiniz. Sayfa isimleri ile aynı ya da yaklaşık aynı ismi vermek ya da amaca uygun isimlendirme yapmak çıkar bir yoldur.

Aşağıda çalışma kitabının referans ismini değiştiren bir kod görüyorsunuz. Mesela vba kullanarak sayfa ekleyecekseniz, sayfa isminin yanında referans ismini değiştirmek de yararlı olacaktır.

Kodu göstermeden önce: Bu kod VBA projesine erişim gerektirmektedir. Çalışabilmesi için VBA editörüne erişime izin vermelisiniz. Bunu için:

Araçlar–>Makro–>Güvenlik
menüsünden
Trusted Publisher (Tr: Güvenilen Yayıncılar) sekmesini tıklayın
En altta görülen
Trusted Access to VBA Project (Tr: VBA Projesi Erişimine Güven) kutucuğunu seçili değil ise seçili hale getirin.

 

Şimdi bu kodu tüm çalışma sayfasındaki referans isimlerini sayfa1, sayfa2 .. şeklinde değiştiren bir hale çevirelim.