WITH STATEMENTS

With Statements

    Excel çalışma sayfasının ilk başta görüntü itibariyle çok fazla bir görselliği yoktur. Sadece binlerce dikdörtgenden oluşan hücreler bütün ekrana hakimdir. İlk başta çok da büyük önem taşımayan görünüm, karışık tablolar işin içine girdiği zaman okunması biraz zor olabilir. Verilerin biraz karışıklaşmaya başladığı anlarda ise kimimiz sütunların renklerini, kimimiz satırların renklerini, kimilerimiz ise yazıların renk ve fontlarını değiştiririz. Bu sayede okunması daha kolay veri tabloları elde ederiz. Yapılan bu işlemlere formatlama işlemleri diyoruz. With Statements 

    VBA Editor içerisinde format işlemleri yaparken, “With Statements” bizim en sık başvuracağımız araçlardan olacaktır. With Statements 

    ‘With Statements’in iki adet bölümden oluşur. Birinci bölüm nesne, ikinci bölümü ise nesne üzerinde gerçekleştirmek istediğimiz ifadelerdir(Statements). Şimdi örnek üzerinden giderek ‘With Statements’ yapısını ve yazım kurallarını inceleyelim. İlk önce ‘Marka ve Modeline Göre Otomobil Fiyatları’ tablomuzu hatırlayalım. With Statements 

With Statements Ornek Tablo 1

    Şimdi tablo üzerinde istediğimiz format işlemlerini gerçekleştirebiliriz. Örnek olarak tüm tablonun font rengini, sonrasında tablonun rengini, yazı büyüklüğünü, yazı tipini değiştirip yazıyı kalınlaştırıp italic yapalım ve son olarak da sütun genişliğini de 15 yapalım. İlk önce bu işlemi bildiğimiz şekilde gerçekleştirelim. İşlemimizi sütun başlıkları haricinde gerçekleştiriyor olacağız.

With Statements Örnek Kod 1

    Burada standart bir formatlama işlemini görüyoruz. Şimdi basamak basamak her satırın yarattığı etkiyi inceleyelim.  

    1-Yazı rengini koyu maviye dönüştürür. 

    2-Tablomuzun rengini açık griye boyar. 

    3-Yazı büyüklüğünü 12 yapar. 

    4-Yazı karakterini ‘Times New Roman’ olarak dönüştürür. 

    5-Yazı kalınlığını arttırır. 

    6-Yazıları ‘Italic’, yani yatık şekle sokar.

    7-Sütun genişliklerini ’15’ e çıkartır. With Statements 

    Bu örnekte dikkat etmeniz gereken nesnemizin yani object’in her satırda tekrarlamış olmamız. Yani her bir satır başına tablomuzu tanımlayan Range(“a3”, Range(“a3”).End(xlDown).End(xlRight)) yazdık ve sonrasında ise özelliklerini değiştirdik. Şimdi ise aynı işlemi ‘With Statement’ ile gerçekleştirelim.

With Statements Örnek Kod 2

    With Statement’a ait örneğimizi yukarıda gördüğünüz gibi bölümlerini renklendirerek hazırladık. Şimdi de yazım şeklini ve kurallarını açıklamaya çalışalım.

    1-‘With Statements’; With ile başlar ve End With ile biter.

    2-With’ten sonra format işleminin gerçekleştirileceği, üzerinde değişikliklerin yapılacağı ‘Object’ yani ‘Nesne’ gelir. Buradaki nesnemiz sütun başlıkları haricindeki bütün tablomuzu kapsayan Range(“a3”, Range(“a3”).End(xlDown).End(xlRight)) alanıdır.

   3-With ve End With arası, ‘Statements’ yani ifadelerimizin geleceği yerdir. Sanki önünde nesne varmış gibi ‘.’ nokta ile başlarlar. Buraya istediğimiz kadar ‘Statement’ girebiliriz. ‘With Statements’ in bu gövde tipi ve yazım kuralları sayesinde her seferinde nesnenin yazılmasına gerek kalmaz ve bizi büyük bir iş yükünden kurtarır.

    4- Son olarak ‘End With’ yazarak gövdeden çıkış yaparız.

    Şimdi tablomuzun son haline görelim.

    With Statements biraz da olsa iş yükümüzü azaltarak hem zamandan tasarruf etmemize yardımcı olur hem de okunması ve çalışması daha kolay kod yazabilmemizi sağladığı için, yazdığımız kodların etkinliğini de arttırır. Unutmayın kodlarınız ne kadar sade olursa okunması ve çalışması da o kadar kolay olur. Bu  nedenden ötürü ‘With Statements’ gibi yardımcı yapıları kodlarınızda kullanmaya özen gösteriniz.

Not:Bu örnekte yer alan nesneyi bir Range veri tipinde değişken olarak tanımlayarak aynı işlemi yapmayı deneyin. Bu şekilde birden fazla tablonuz varken ve hepsi bir değişke olarak tanımlıyken ‘With Statements’ içerisinde kullanarak ne kadar kolay şekilde bütün tablolarınızı formatlayabileceğinizi düşünün. İleride yer alan konularımızdan döngüler konusunu işlerken, VBA Editor’un bu işlemi sizin için ne kadar kolay bir hale getirebileceğini gördüğünüzde, VBA öğrenemeye karar verdiğiniz için bir kere daha kendinizi tebrik edeceksiniz. Şimdi, her zamanki gibi aklınıza takılan bir şey varsa [email protected] e-posta adresine mesaj atabilirsiniz. Bir sonraki derste görüşmek üzere.

Dünya Çapında Araştırmacılara Ait Çalışmaları Okumak İsterseniz https://www.researchgate.net/profile/Ender_Dagdelen adresini Ziyaret Edebilirsiniz. Ana Sayfaya Dönmek İsterseniz De Aşağıdaki Tuşu Tıklayınız.

Herkese İyi Çalışmalar…

Soru ve Önerileriniz İçin;

[email protected]