Foruma eklenen çoğu dosyada gördüğüm bir hususla ilgili, kısa bir makale tadında bir hususu paylaşmak istedim.

Sayfaların isimleri ile ilgili olarak gelen kodlarda, Worksheets("SAYFA ADI").Range... şeklinde yazılı.

Bu olay biraz riskli ve açıkçası kod yazarken size sistemin yardımcı olmasını engelliyor.

Öncelikle risk konusu şu:
Sayfa adını değiştirdiğinizde artık kod çalışmayıp hata verecektir.
Yardımcı olmama noktası ise;
Worksheets("SAYFA ADI") dedikten sonra (.) noktaya bastığınızda o sayfanın özellikleri karşınıza çıkmıyor.
Bu nedenle kodlarınızı yazarken Worksheets("SAYFA ADI")... olarak değil, Sayfa1 & Sheet1 şeklinde yazarsanız (Sayfanın gerçek ismi) kullanım açısından daha yararlı olacaktır.

Konuyu biraz resimlerle anlatmaya çalışayım.

1621371728408.png


Renklendirdiğim alanlar ön yüzde sayfa adlarının olduğu metinler.

Şimdi kod penceresine, ExcekDepo isimli sayfa aktif iken, Worksheets("ExcelDestek").Select şeklinde bir kod yazıp çalıştırdığımda sorunsuz olarak ExcelDestek isimli sayfaya geçiş sağlanacaktır. Siz kodlamaları yaptınız ve sonrasında ise acemi bir Excel kullanıcısı ya da sayfada sitenin adının geçmesini beğenmeyen bir abi :) sayfa adını değiştirdi...

İşte o zaman kod en basitinden aşağıdaki hatayı verecektir:

1621371509301.png


Bu gibi bir sayfa ismi değişikliğinde kodlarınızın hata vermemesi için, Worksheets("ExcelDestek").Select yerine Sayfa1.Select yazmanız yeterli olacaktır.

"Yahu ne olacak gider sayfa adını değiştiririm" diyorsanız da yapacak bir husus yok tabi :)