Bir Excel çalışma sayfasının hücrelerinde görünen sayısal değerlerin gösterim şekillerini belirlemek.
Çalışma sayfasındaki bir bölgeyi temsil eden Range nesnesinin NumberFormat özelliğine atayacağınız bir karakter dizgisiyle sayı veya tarih/zaman gösterimlerini belirleyebilirsiniz.
Aşağıda sayı biçimlendirme karakter dizgilerinin ayrıntılı açıklamalarını sunuyoruz. Excel’de veya bir programlama dilinde sayı gösterimlerini elle belirlemeyi bilen okuyucularımız bu açıklamaları atlayabilirler.
Sayısal değerlerin biçimlendirmesini belirleyen bir karakter dizgisinde kullanabileceğiniz bazı önemli karakterler ve anlamları aşağıdaki gibidir:
0 karakteri koyduğunuz hanede mutlaka bir rakam gözükmelidir.
Örneğin, “00.00” dizgisiyle biçimlendirilmiş sayısal değerin gösteriminde ondalık ayıraçtan önce 2, ondalık ayıraçtan sonra 2 hane gözükmelidir.
Biçimlendirme dizgilerinde İngilizce yazım kurallarına uygun olarak ondalık ayıraç için nokta koyarsınız, ama Excel programı komutlardaki biçimlendirmeleri yaparken işletim sisteminizdeki tercihlerinizde belirlediğiniz ondalık ayıraç karakterini kullanır. Tercihleriniz Türkçe’ye uygunsa ondalık ayıraç aşağıdaki örneklerde gösterdiğimiz gibi virgül olacaktır.
Sayının tam değerinde ondalık ayıraçtan önce tek bir hane vardıysa normalde olmayan en sol hanede 0 gözükür.
Örneğin 2,35 sayı değeri 02,35 olarak gözükür.
Sayının tam değerinde ondalık ayıraçtan önce 2’den fazla hane vardıysa gerekli rakamların hepsi gözükür.
Örneğin, 102,35 sayı değeri 102,35 olarak gözükür.
Sayının tam değerinde ondalık rakam sayısı 2’den azsa gerekmeyen en sağ hanede 0 gözükür.
Örneğin, 102,3 sayı değeri 102,30 olarak gözükür.
Sayının tam değerinde ondalık rakam sayısı 2’den fazlaysa bile ondalık kısım değeri iki haneye yuvarlanmış olarak gözükür.
Örneğin, 102,3576 sayı değeri 102,36 olarak gözükür.
# karakteri koyduğunuz her hanede gerekiyorsa bir rakam gözükür, ama hanenin ondalık ayıracın ne tarafında olduğu da önemlidir.
Örneğin, “##.##” dizgisiyle biçimlendirilmiş sayısal değerin gösteriminde ondalık noktadan önce gerektiği kadar, ondalık noktadan sonra en fazla 2 hane gözükür.
Sayının tam değerinde ondalık ayıraçtan önce tek bir hane vardıysa ayıraçtan önce tek bir rakam gözükür.
Örneğin 2,35 sayı değeri 2,35 olarak gözükür.
Sayının tam değerinde ondalık ayıraçtan önce 2’den fazla hane vardıysa gerekli rakamların hepsi gözükür.
Örneğin, 102,35 sayı değeri 102,35 olarak gözükür.
Sayının tam değerinde ondalık rakam sayısı 2’den azsa gerekmeyen en sağ hane gözükmez.
Örneğin, 102,3 sayı değeri 102,3 olarak gözükür.
Sayının tam değerinde ondalık rakam sayısı 2’den fazlaysa bile ondalık kısım değeri iki haneye yuvarlanmış olarak gözükür.
Örneğin, 102,3576 sayı değeri 102,36 olarak gözükür.
Biçimlendirme dizgisinde ? karakteri kullandığınız bir hanede rakam yoksa o hanede boşluk gözükür.
Biçimlendirme dizgisinde bir % karakteri ile sayı değerini bir yüzdelik değer şeklinde göstermiş olursunuz. Kullandığınız dilin kurallarına bağlı olarak, % karakterini sayı değerinin önünde (Türkçe için durum budur) veya sonunda (İngilizce için durum budur) gözükmesini sağlayabilirsiniz.
Ondalık ayıraç öncesi veya sonrasındaki rakam sayısı hanelerde 0 karakteri mi yoksa # karakteri mi kullandığınıza bağlıdır, ama sayı değeri 100 ile çarpılmış olarak gözükür.
Örneğin, 0,013 sayı değeri “%00.00” dizgisiyle biçimlendirildiğinde %01,30 olarak gözükür.
Sayı değerinin önüne veya sonrasına koyacağınız bir birim belirttiğiniz yerde gözükecektir. Bu bir para birimiyse sayısal değeri para değeri biçimiyle göstermiş olursunuz.
Özel kodlarını biliyorsanız ve doğru karakter setini kullanmışsanız, uluslararası finans sektöründe kabul gören özel para sembollerini de gösterme ekleyebilirsiniz; parayla pek işimiz olmadığı için biz onları bilmiyoruz.
Muhasebecilikteki yazım kurallarını uygulayarak, negatif değerlerin parantez içlerinde ve isterseniz farklı renkle gösterimini de sağlayabilirsiniz. Pozitif ve negatif değerler için uygulayacağınız biçimlendirme dizgilerini bir noktalı virgül karakteriyle ayırırsınız:
"0.00 TL;[Red](0.00 TL)"
Tarih değerlerinde d karakteri gün, M karakteri ay ve y karakteri yıl kısmını yazdırmak içindir. Bu kısımların nasıl gözükeceği bu karakterlerden kaç kez kullandığınıza bağlıdır:
Tek d ile gün kısmını sayı değeri olarak yazdırırsınız. Gerekiyorsa 2 rakam, gerekmiyorsa tek rakam gözükür.
İki d ile gün kısmını iki rakamlı bir sayı olarak yazdırırsınız. Gerekmiyorsa da sol rakam 0 olarak gözükür.
Üç d ile haftanın gününün kısa adını, yani Pzt, Sal, Çar, … yazdırmış olursunuz.
Dört d ile haftanın gününün tam adını yazdırırsınız.
Tarih yazdırırken hem günün sayı değeri, hem de haftanın hangi günü olduğunu yazdırmak isterseniz, birli/ikili ve üçlü/dörtlü gün yazdırma biçimlerinden ikisini de kullanabilirsiniz.
Tek M ile ay kısmını sayı değeri olarak yazdırırsınız. Gerekiyorsa 2 rakam, gerekmiyorsa tek rakam gözükür.
İki M ile ay kısmını iki rakamlı bir sayı olarak yazdırırsınız. Gerekmiyorsa da sol rakam 0 olarak gözükür.
Üç M ile ayın kısa adını, yani Oca, Şub, Mar, … yazdırmış olursunuz.
Dört M ile ayın tam adını yazdırırsınız.
Haftanın günü veya ay adları işletim sistemindeki dil tercihlerine göre yazılır.
Yıl kısmında iki y kullanmışsanız, yılın son iki rakamı, dört y kullanmışsanız yılın dört rakamı gözükür.
Zaman gösterimlerinde h saat kısmı, m dakika kısmı, s ise saniye kısmı içindir.
Bunlardan tekini kullanmanız yetiyorsa tek rakam, gerekiyorsa iki rakam gösterileceği anlamına gelir.
İki sembol iki rakam gözükmesini zorlar; gerekmiyorsa sol rakam 0 olarak gözükür.
h yerine H karakteri kullanmanız saati 24 saat düzenine göre gösterilmesiyle sonuçlanır.
Hücrelerinde sayı biçimlendirmeleri yapacağınız çalışma sayfasına ait VBA projesinde bir altyordam yaratın.
Bu çalışma sayfasına elle veya kodlar aracılığıyla tercihen ondalıklı sayı değerleri yerleştirin. Bazı bölgelerde de tarih türünden değerler olsun.
Sayı gösterim şeklini değiştireceğiniz bölgeye referans yapacak Range türü bir değişken tanımı ekleyin:
Dim bolge As Range
Bu değişkenin NumberFormat özelliğiyle referans yaptığınız bölgede sayı gösterimini değiştirecek komutlar ekleyin.
Excel’de veya programlama dillerinde biçimlendirme dizgilerini daha önce kullanmamışsanız, örnek altyordam da yaptığımız gibi mümkün olduğunca çok rasgele biçimlendirme dizgileri deneyip sonuçlarını görmeye çalışın.
Aşağıda son halini sunduğumuz altyordam ait olduğu çalışma sayfasının 25x4’lük bir bölgesine formüllerle sayısal değerler, 25x1’lik bir bölgesine de o anki tarih ve zamanı veren NOW (Türkçesiyle ŞİMDİ) fonksiyonuyla tarihsel değerler yerleştiriyor. Sonra da bu bölgelere parça parça farklı değer biçimlendirmeleri uyguluyor.
Kaynak Dosya: “SayfadaSayiGosterimleriAyarlamak.xlsm”
Unutmayın; kitap veya ekran satırına sığmayan komut satırları alta sarkmış olabilir. Siz onları tek satır olarak yazacaksınız!
Sub SayfadaSayiGosterimleriAyarlamak()
Dim bolge As Range
Set bolge = Me.Range("A1")
bolge.Value2 = 1
Set bolge = Me.Range("A2:A25")
bolge.Formula = "=A1+0.25"
Set bolge = Me.Range("B1:B25")
bolge.Formula = "=Sin($A1)"
Set bolge = Me.Range("B1:D25")
bolge.FillRight
Me.Range("A1:A5").NumberFormat = "0.00"
Me.Range("A6:A10").NumberFormat = "0.000"
Me.Range("A11:A15").NumberFormat = "#.###"
Me.Range("A16:A20").NumberFormat = "00.###"
Me.Range("A21:A25").NumberFormat = "000.000"
Me.Range("B1:B5").NumberFormat = "%0.00"
Me.Range("B6:B10").NumberFormat = "0.000%"
Me.Range("B11:B15").NumberFormat = "%#.###"
Me.Range("B16:B20").NumberFormat = "00.###%"
Me.Range("B21:B25").NumberFormat = "%###.#"
Me.Range("C1:D25").NumberFormat = "0.00 TL;[Red](0.00 TL)"
Me.Range("D1:D5").NumberFormat = "0.00E+0"
Me.Range("D6:D10").NumberFormat = "#0.0E+00"
Me.Range("D11:D15").NumberFormat = "0.###E+0"
Me.Range("D16:D20").NumberFormat = "##E+0"
Me.Range("D21:D25").NumberFormat = "General"
Set bolge = Me.Range("F1:F25")
bolge.Formula = "=NOW()"
Me.Range("F1:F5").NumberFormat = "dd MMMM yyyy"
Me.Range("F6:F10").NumberFormat = "d/MM/yy, ddd"
Me.Range("F11:F15").NumberFormat = "d/M/yy h:m:s"
Me.Range("F16:F20").NumberFormat = "dd MMMM yyyy HH:mm:ss"
Me.Range("F21:F25").NumberFormat = "dd MMMM yyyy HH:mm:ss, dddd"
End Sub
Bu altyordamın çalışmasından sonra sayfada gözüken biçimlendirilmiş değerler aşağıdaki gibi olacaktır:
Dikkat etmişsinizdir; tarih biçimlendirmesi yapan dizgilerde gün/ay/yıl kısımları arasında ayıraç olarak / karakteri kullandık, ama ondalık ayıracında olduğu gibi, bu ayıraç yerine Türkçe kurallarına uygun olarak . karakteri kondu.