Excel VBA kod yazım kurallarına genel bakış...


Excel-VBA kod yazım kurallarına genel bakış.

Kod yazarken dikkat edilecek bir kaç basit husus vardır bunlara dikkate alındığında yazılacak olan VBA (Visual Basic for Applications) kodlarında ortaya çıkması muhtemel hatalardan yazım hataları ortadan kaldırılmış olur. Öncelikle iki kavram üzerinde duralım program satırı ve editör satırı. Editör satırından kasıt; program yazdığımız ya da geliştirdiğimiz ortamın (IDE /Integrated Development Environment) bize sunduğu derleyicinin satırlarıdır. Diğer yandan program satırı editör tarafından derlenecek olan ve herhangi bir işlemi gerçekleştirecek o dile ait kodlar bütünüdür. Bir editör satırında yazım kurallarına dikkat edildiğinde birden fazla program satırı yer alabilir. VBA ile kod yazarken:

1) : (üst üste iki nokta) karakteri bir editör satırına birden fazla program satırının yazılmasına izin verir.Şimdi isterseniz bu söylenenleri bir ekran çıktısı üzerinde değerlendirelim. Aşağıda verilen ekran çıktısındaki Tanımlama-1,2 ve 3 (kırmızı boyalı alanda)aynı işi yapar kodlayıcı bunlardan birini tercih edebilir. Tanımlama-1 de kullanıcı aynı türden değişkenlerin arasında , (virgül) koyarak ayırdıktan sonra as deyimi ile değişkenlerinin tiplerini tek editör satırında belirlemiştir. Tanımlama-2 de değişkenlerin hepsi aynı türden olduğu hale her biri ayrı birer editör satırında tanımlanmıştır. Tanımlama-3 ise Tanımlama-2 ile aynı olup sadece ayrı ayrı yapılan tanımlamalar : operatörü ile tek editör satırına yerleştirilmiştir.
cok_satirda_degisken_tanimlama

2) Yukarıda verilen ekran çıktısında mavi ile boyalı kesimde değişken tanımları tek editör satırına yazılmıştır. Aynı türden değişkenler( , virgül) karakteri ile gruplanıp as ile tanımlandıktan sonra bir başka türden değişken grubu yine (, virgül)karekteri ile ayrılarak as ile tanımlanmışlar ikinci grup değişken için yerine göre yeniden Dim, gloabl, ya da public deyimi kullanılmamıştır. Aşağıdaki örneği inceleyiniz.
Dim adi,soyadi as String, yas as Byte '' program satiri
Dim adi, soyadi as String
Dim yas as Byte ' program satirlari ile ayni isi yapar

3) _ (alt çizgi) karakteri ile deyimler bölünmeden bir program satırı birden fazla editör satırına yazılabilir. Bu işlem genellikle program satırlarının okunurluğunu arttırmak için kullanılır. Aşağıda lastPage değişkeni ile adiSoyadi adresine sahip (burası çok önemli çünkü Excel hücrelerinin adresleri genellikle Sütun harfi-Satir numarası şekilde verilir F5, A2 vb.) Excel hücresine değer aktarılırken _ karakteri ile program satırı iki editör satırına parçalanmıştır.
syntax_satir_kırma-1

Ancak yersiz satır parçalamalar programın okunurluğunu engelleyeceği için her ne kadar doğru olsa da kullanılmamalıdır. Aşağıdaki ekran çıktısında yer alan yeşil renkli bölüm (açıklama satırı olarak bloklanmış alan) ile aktif program kodları (kırmızı renkli bölüm)aynı işi yapsa da aktif kodların okunurluğu yoktur. Kesinlikle bu şekilde kullanılmamalıdır.
syntax_satir_kirma-2

4) VBA (case sensitive/büyük küçük harf duyarlı) değildir. Yani maas, MAAS, Maas vb. değişkenlerin hepsi aynı değişkenlerdir.

5)Bu bir kural olmayıp kazanmanız gereken bir alışkanlık olmalıdır. Kodlarınızı yazarken gerekli noktalarda özellikle yeni program bloklarına başlarken lütfen girinti kullanınız. Ayrıca bol bol açıklama satırı yazınız. Unutmayınız yazdıklarınızın üzerinden 1 hafta geçtikten sonra neyi niçin yazdığınızı büyük olasılıkla hatırlamayacaksınız. Aşağıdaki ekranda kullanıcı bir alt program yazmış blokları yazarken girintilemiş ve hatta başında bu alt proramın yazılış amacını, parametre alıp almadığını, nereden çağrıldığını ve kendisinin hangi alt program ya da fonskiyonları çağırdığını belirtmek üzere bir head/baslik yazmış. Sizlerde benzer alışkanlık kazandığınızda ileride çok faydasını göreceksiniz. "Excel VBA olup ta ne yazabilirim ?" demeyin lütfen yeri geliyor basit bir uygulamaya 5-10 bin satir kod yazmak gerekebiliyor. Bizden tavsiye son karar sizin.
syntax_girinti

6)Kullanmadığınız program satırlarını yazılım tamamlanana kadar hemen temizlemeyin ' (kesme) karakteri ile açıklama satırı haline getirin. Birden fazla kod satırını bir defada bloklamak için aşağıdaki ekranda verilen edit araç çubuğunu kullabailirsiniz. Bu araç çubuğunu Excel program penceresinde Alt+F11 ile gelen VBA derleyici ekranında, araç çubuğu üzerinde farenin sol tuşuna basarak edit seçeneğini tıklamak suretiyle görüntüleyebilirsiniz. VBA da C, C++, Java vb dillerde olduğu gibi /* */ karakterlerinden oluşan açıklama satırına bloklama karakterleri yoktur.

syntax_aciklama_satiri

Yardımcı olması dileğiyle