Excel KTF Verilen Sayıya Göre Ay İsmini Getir


Ay numarasını verdiğimizde bize ilgili ayın ismini veren bir kullanıcı tanımlı fonksiyondur. Eğer ay sayısı olarak 12’den büyük bir sayı verilirse bu sayının modunu alıp ona göre işlem yapıyor.

Kod
Option Explicit

Function SayiDegerineGoreAyIsminiGetir(Optional deger As Byte)
    deger = (deger) Mod 12
    If deger = 0 Then deger = 12
    
    If (deger > 0 And deger <= 255 And IsNumeric(deger)) Then
        SayiDegerineGoreAyIsminiGetir = Choose(deger, _
                                               "Ocak", "Şubat", "Mart", _
                                               "Nisan", "Mayıs", "Haziran", _
                                               "Temmuz", "Ağustos", "Eylül", _
                                               "Ekim", "Kasım", "Aralık")
    Else
        SayiDegerineGoreAyIsminiGetir = "#Verilen sayı hatalı."
    End If
End Function
Kod (Açıklamalı)
Option Explicit

Function SayiDegerineGoreAyIsminiGetir(Optional deger As Byte)
    '--------------------------------------------------
    'Eğer verilen sayı 12'den büyükse mod kısmı işimize
    'yarayacak. Bu yüzden başta bir mod aldık.
    '--------------------------------------------------
    deger = (deger) Mod 12
    
    '--------------------------------------------------
    'Mod 12'ye göre değer 0 olduğu zaman bu Aralık
    'ayına tekabül ediyor. Bu yüzden sıfır olması
    'durumunda değeri Aralık olacak şekilde ayarladık.
    '
    'Ayrıca formül parametesi olarak 0 verirsek
    'Aralık sonucu çıkacak, bilginiz olsun.
    '--------------------------------------------------
    If deger = 0 Then deger = 12
    
    '--------------------------------------------------
    'Parametre Byte tipinde verildiğinden buna göre
    'şart uyguladık. Eğer farklı bir tip kullanmak
    'isterseniz şartı buna göre düzenleyebilirsiniz.
    '
    'Ayrıca yine Byte tipinden kaynaklanan şu durum
    'var: Eğer küsüratlı sayı girerseniz küsüratını
    'atıyor ve tam kısmını alıyor.
    '--------------------------------------------------
    If (deger > 0 And deger <= 255 And IsNumeric(deger)) Then
        
        '--------------------------------------------------
        'Choose fonksiyonunu kullanarak verilen indeks
        'değerine göre ay isminin getirilmesini sağlıyoruz.
        '--------------------------------------------------
        SayiDegerineGoreAyIsminiGetir = Choose(deger, _
                                               "Ocak", "Şubat", "Mart", _
                                               "Nisan", "Mayıs", "Haziran", _
                                               "Temmuz", "Ağustos", "Eylül", _
                                               "Ekim", "Kasım", "Aralık")
    Else
        '--------------------------------------------------
        'Şartı sağlamayan bir durum olursa uyarı ver.
        '--------------------------------------------------
        SayiDegerineGoreAyIsminiGetir = "#Verilen sayı hatalı."
    End If
End Function

Bunlar da hoşunuza gidebilir...


Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir