WITH STATEMENT
Sub-Routine’leri oluştururken birçok durumda nesnelerin özelliklerini değiştirmemiz gerekir. En basitinden hücreye sığmayan bir kelime için sütun genişliğini ayarlarız veya yazıların renklerini, fontlarını değiştiririz. Normal koşullarda, yani With Statements kullanmadığımız noktalarda, nesne eğer bir değişken olarak atandıysa değişkenin adını, eğer atanmayıp da bir alan, range olarak belirlendiyse de her özelliği değiştirirken aynı nesnenin ismini defalarca yazmamız gerekebilir. İşte bu durumda hem yazılan kodun sade olması hem de nesneyi sadece bir kere yazarak sonrasında yalın bir şekilde özellikleri sıralayıp değiştirebilmemizde, With Statement bize yardımcı olur. Şimdi basit bir örnek ile With Statement’in kullanılışını görelim.
İlk önce ‘MARKA VE MODELİNE GÖRE OTOMOBİL FİYATLARI’ tablomuzu yalın haliyle bir kere hatırlayalım.
Şimdi tabloda “a3” ve “ı13” hücreleri arasını, format işlemlerini yapmak istediğimiz nesne olarak seçelim ve sırasıyla;
1-Yazının rengini
2-Seçili alanın rengini
3-Yazı boyutunu
4-Yazı tipini
5-Yazı kalınlığını
6-Yazı yatıklığını
7-Son olarak da hücre genişliğini
değiştirelim. Bu konuda ilk önce standart yazım tekniğini ve sonrasında ise With Statement kullanıldığı halini görelim.
Yukarıda eklenmiş olan Sub-Routine sırayla yukarıda listelenmiş olan değişiklikleri yapmaktadır.
Bu eklenen SubRoutine’de aynı formatlama işlemlerini gerçekleştirmektedir. Ancak yazılan kodlar arasındaki fark çok bariz bir şekilde ortadadır.
TABLONUN FORMATLANMIŞ HALİNİ DE GÖRELİM
Şimdi With Statement ifadesinin gövde yapısını ve kullanılışını yukarıdaki görsel doğrultusunda inceleyelim.
—-Object: Üzerinde formatlama işlemi yapılarak, bazı özellikleri değiştirilecek olan nesne ‘With’ ten sonra bir kereye mahsus yazılır. Burada RANGE tipinde olan bu nesne bir değişkene atanıp da bütün bu (“a3”, Range(“a3”).End(xlDown).End(xlToRight)) yerine de yazılabilirdi. Önemli olan nesnenin değiştirebileceğimiz özelliklerini biliyor olmamız. Bu sayede bütün formatlama işlemlerini gerçekleştirebiliriz.
—-Statements: Yani değiştirmek istediğimiz özellikler. Sanki öncesinde nesne varmışcasını .Property şeklinde istediğimiz bütün özellikleri ve almasını istediğimiz değerleri buraya yazıyoruz. Buraya yazabileceğimiz özelliklerin sayısal olarak bir sınırlandırılması yoktur. With Statements iç içe kullanılabilir ancak nesnelerin referansları çok iyi belirtilmiş olmalıdır. Tek bir With Statement ile birden fazla nesnenin değeri değiştirilemez.
—-End With: En son bu kod ile de With bloğu kapatılır.
Son olarak da şekilsel olarak With Statements aşağıdaki şekilde şematize edilebilir.
With Nesne
.Statements(özellikler-ifadeler)
End With
İşte Bu Kadar Kolay.
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.