Excel'de rapor hazırlarken biçimlendirme yaygın bir görevdir. Kullanıcının sayıları biçimlendirmeyle hızlı bir şekilde anlamasını sağlamak için sayıları biçimlendirmek çok önemlidir. VBA'da, FORMAT işlevi, FORMAT NUMBER işlevi ve NUMBER FORMAT özelliği gibi çeşitli yöntemleri kullanarak sayı biçimlendirmesini uygulayabiliriz.
Örneğin, 0.90 yani %90 sayımız olduğunu varsayalım ve bu sayıya yüzde formatını uygulamak istiyorsak, FORMAT'ı aşağıdaki gibi kullanabiliriz.
FORMAT(0.90, “Percent”)
Bu sayıyı biçimlendirecek ve sayıyı yüzde olarak, yani %90 olarak döndürecektir.
ÖNEMLİ NOKTALAR
- Sayı Biçimlendirme özelliği, belirli bir hücre aralığına istediğimiz biçimlendirmeyi uygulamamıza yardımcı olur.
- Yüzde, para birimi, tarih, saat vb. gibi farklı sayı biçimlendirmeleri uygulayabiliriz.
- Sayı biçimlendirme kodu içindeki çeşitli kriterlere göre renkli sayı biçimlendirmesi uygulayabiliriz.
- Hem tarih hem de saat bilgisine sahip olduğumuzda yalnızca tarihi veya saati göstermeyi seçebiliriz.
- Sayıları metinle biçimlendirerek metni sayılarla birlikte gösterebiliriz.
VBA Sayı Biçimlendirmesi ile Sayılar Nasıl Biçimlendirilir?
Sayı Biçimi, VBA'daki hücre aralığıyla kullanılabilen özelliktir. Örneğin, aşağıdaki sayılara bakın.

A1:A3 hücre aralığında sayılara sahibiz. Bu sayılar için sayı biçimlendirmesi uygulamak istiyorsak, sayı biçimi özelliğini kullanabiliriz.
Adım 1 – Sayı biçimlendirmesini uygulamadan önce, sayı biçimlendirmesini uygulayacağımız hücre aralığını (yani A1:A3) belirlememiz gerekiyor.
Aşağıdaki gibi RANGE nesnesini kullanarak istediğiniz hücre aralığını girin.

Adım 2 – Sayı biçimlendirmesi verildikten sonra, RANGE nesnesiyle birlikte kullanılabilen tüm özellikleri ve yöntemleri gösteren IntelliSense listesine erişmek için noktayı girin.
Noktayı girin ve NumberFormat özellik adını yazmaya başlayın ve listeyi gösteren IntelliSense listesini göreceğiz.

Listeden Sayı Biçimi özelliğini seçin.

Sayı biçimini uygulamak için sayı biçimi koduna hazır olmamız gerekir. Hazır kodlardan bazılarını öğreneceğiz. Şimdilik, sayı biçimi özelliğinden sonra eşittir işareti girerek “#,##,###” biçimlendirme kodunu uygulayın.

Bu, binlik ayırıcılarla aşağıdaki gibi özel sayı biçimlendirmesini uygulayacaktır.

Benzer şekilde, sayı biçimlendirme kodunu girerek biçimlendirmeyi uygulayabiliriz. Sayı biçimlendirmesini uygulamanın bazı örnekleri aşağıdadır.
GENERAL
Range(“A1:A3”).NumberFormat = “General”
Number
Range(“A1:A3”).NumberFormat = “0.00”
Currency
Range(“A1:A3”).NumberFormat = “$#,##0.00”
Accounting
Range(“A1:A3”).NumberFormat = “_($* #,##0.00_);_($* (#,##0.00);_($* “”-“”??_);_(@_)”
Percentage
Range(“A1:A3”).NumberFormat = “0.00%”
Fraction
Range(“A1:A3”).NumberFormat = “# ?/?”
Scientific
Range(“A1:A3”).NumberFormat = “0.00E+00”
Text
Range(“A1:A3”).NumberFormat = “@”
Bu sayı biçimlendirmelerinin dışında, özel biçimlendirme de uygulayabiliriz. Şimdi bunu detaylı olarak tartışalım.
Örnekler
Örnek 1 – Pozitif ve Negatif Sayılar Arasındaki Fark
Raporlarımızda hem pozitif hem de negatif sayılar olması oldukça yaygındır. Kullanıcıların her şeyi hızlı bir şekilde anlamasını sağlamak için pozitif ve negatif sayılar için farklı sayı biçimlendirmeleri uygulayabiliriz. Örneğin, Excel'deki aşağıdaki verilere bakın.

A1'den A6'ya kadar olan hücrelerden sayılarımız var. Bu liste hem pozitif sayıları hem de negatif sayıları içeriyor.
Amacımız tüm negatif sayıları kırmızıyla gösteren sayı biçimlendirmesini uygulamaktır. Bu biçimlendirmeyi uygulayalım.
Adım 1 : Sayı biçimi özelliğine erişmek için öncelikle RANGE nesnesini kullanarak hücre aralığını belirtin.

Adım 2: Noktayı girerek sayı biçimi özelliğini seçin.

Adım 3: Aşağıdaki sayı biçimlendirme kodunu uygulayın.
“#,##.00;[kırmızı]-#,##.00”

Adım 4 : Bu kodu çalıştırdığımızda, sayı biçimlendirmesini uygulayacak ve ayrıca negatif değerleri kırmızı renge dönüştürecektir.

Adım 5: Gördüğümüz gibi, tüm negatif sayılar kırmızı renktedir. Uyguladığımız sayı biçimlendirme kodu ondalık basamakları da içerir, ondalık basamakları göstermek istemiyorsak, koddan sıfırları aşağıdaki gibi kaldırın.
"#,##;[kırmızı]-#,##"

Ondalık Basamaklı Kod
Sub Number_Formatting_Example2()
Range(“A1:A6”).NumberFormat = “#,##.00;[red]-#,##.00” .
End Sub
Code without Decimal Place
Sub Number_Formatting_Example2()
Range(“A1:A6”).NumberFormat = “#,##;[red]-#,##”
End Sub
Örnek 2 – Parantez İçinde Olumsuz Değerleri Göster
Negatif sayıları parantez içinde göstermek yaygın bir uygulamadır. Negatif sayıları parantez içinde göstermek için biçimlendirme kodunun negatif kısmı için parantez eklememiz gerekir.
"#,##;[kırmızı](-#,##)"
Görüldüğü gibi sarı renkli kodun üstünde bir parantez yer alıyor.
Sub Number_Formatting_Example3()
Range(“A1:A6”).NumberFormat = “#,##;[red](-#,##)”
End Sub
Bu, tüm negatif sayılar için parantezi içerecektir.

Örnek 3 – Sayılarla Metin
Bu ilginç bir örnek. Metinle birlikte göstereceğimiz sayılar olduğunu ancak bunların normal sayı biçiminde olmadığını varsayalım.
Mesela sebze ağırlığını rakam olarak gösteriyorsak bunu KGS cinsinden yani 10 KG veya 5 TON olarak göstermemiz gerekiyor.
Biçimlendirmeyi uygulayarak sayıları ve metni de gösterebiliriz. Örneğin, aşağıdaki verilere bakın.

Bir kişinin adı ve ilgili ağırlığı var. Bu ağırlık sütunu için biçimlendirmeyi ağırlık numarasından sonra KG olarak uygulamalıyız.
Aşağıdaki kod sayıyı “KG” metniyle birlikte biçimlendirecektir.
“0#”” KG”””
Sub Number_Formatting_Example4()
Range(“B2:B6”).NumberFormat = “0#”” KG”””
End Sub
Bu, B2 ile B6 aralığındaki her sayıdan sonra KG metnini içerecektir.

Benzer şekilde, eğer başka bir metni dahil etmek istiyorsak, KG'yi başka herhangi bir kelimeyle değiştirebiliriz.
Örnek 4 – Koşullu Sayı Biçimlendirmeyi Uygula
Sayılara koşula dayalı biçimlendirme uygulamak, farkında olmamız gereken bir diğer önemli biçimlendirme tekniğidir.
Örneğin aşağıdaki verilere bakalım.

Bir sınavda öğrenci isimleri ve ilgili puanları var. Şimdi 50'den büyük veya eşit tüm sayıları Yeşil'de ve 50'den küçük tüm sayıları Kırmızı'da gösteren sayı biçimlendirmesini uygulamamız gerekiyor.
Aşağıdaki sayı biçimlendirme kodu, Yeşil renkte 50 ve üzeri değerler için Yeşil yazı tipi biçimlendirmesini, Kırmızı renkte ise 50'den küçük tüm sayılar için ise Yeşil yazı tipi biçimlendirmesini uygulayacaktır.
“[>=50][Yeşil]#,##0.00;[<50][Kırmızı]#,##0.00”
Alt Sayı_Biçimlendirme_Örneği5()
Aralık(“B2:B9”).SayıBiçimi = “[>=50][Yeşil]#,##0.00;[<50][Kırmızı]#,##0.00”
Son Alt Yazı
Sayı biçimlendirmesi aşağıdaki görüntüdeki gibidir.

Örnek 5 – Tarih ve Saat Biçimini Uygula
Sayı biçimi özelliğini kullanarak tarih ve saat biçimini de uygulayabiliriz. Örneğin, aşağıdaki tarihe bakın.

Çeşitli tarih ve saat formatlarını uygulayalım.
Tarih - Ay - Yıl biçimi
Sub Number_Formatting_Example6()
Range(“A2”).NumberFormat = “dd-mm-yyyy”
End Sub
Bu, aşağıdaki görseldeki gibi tarih formatını uygulayacaktır.

Tarih ve Saat Biçimi
Sub Number_Formatting_Example6()
Range(“A2”).NumberFormat = “dd-mm-yyyy hh:mm:ss”
End Sub
Bu, aşağıdaki resimde gösterildiği gibi tarih ve saat biçimini uygulayacaktır.

Saati sabah (A.M.) veya akşam(P.M.) olarak göstermek için aşağıdaki kodu kullanın.
Sub Number_Formatting_Example6()
Range(“A2”).NumberFormat = “dd-mm-yyyy hh:mm:ss AM/PM”
End Sub
Aşağıdaki resimde vurgulandığı gibi, bu AM veya PM'yi gösterecektir.

Dikkat Edilmesi Gereken Önemli Noktalar
- Sayı Biçimi, hücre aralığıyla kullanılabilen bir özelliktir. RANGE nesnesini veya CELLS özelliğini kullanmamız gerekir.
- Doğru sayı biçimlendirmesini uygulamak için biçimlendirme kodundan emin olmalıyız. Kodları çalışma sayfası biçimlendirmesinde pratik etmeniz ve ardından aynısını VBA kodlamasında uygulamanız önerilir.
- Sayılarla birlikte metni de göstermek için, sayı biçimlendirmesi içinde metni çift tırnak içine almamız gerekiyor.
- İstediğimiz sayı biçimlendirmesini uygulamak için sayı biçimi özelliğinden sonra eşittir işareti kullanmamız gerekiyor.
Excel'deki sayı biçimi Giriş sekmesinde mevcuttur .
İstediğimiz hücreyi seçip Ctrl+1 kısayol tuşlarını kullanarak da sayı formatlama penceresine ulaşabiliriz .
VBA'da sayı biçimini değiştirmek için öncelikle hücre aralığını belirtmemiz ve aşağıdaki gibi sayı biçimlendirmesini uygulamamız gerekiyor.
Daha sonra noktayı girin ve NumberFormat özelliğini seçin.![]()
Sayı biçimi özelliğine eriştikten sonra eşittir işaretini girin ve istediğiniz sayı biçimi kodunu çift tırnak içine girin.![]()
Metni sayı formatına çevirmek için aşağıdaki kodu kullanmamız gerekiyor.
Sayı metin olarak depolandığında, bu hücrelere sayı biçimlendirmesi uygulayamayız. İlk olarak, hücreyi sayı biçimine değiştirmemiz ve ardından sayı biçimlendirmesini uygulamamız gerekir.
Başka bir neden, sayı biçimi özelliğine verilen yanlış biçimlendirme kodu olabilir. Çalışmasını sağlamak için uygun sayı biçimlendirme kodunu kullanmamız gerekir.
