Teknoloji Haberleri

    Excel’de Sayıları Metine Çevirebilir misiniz?

    Excel’de girdiğiniz sayıların başka bir hücrede metin olarak yazılmasını istiyorsanız yapacağınız ilk şey kullanacağınız Excel dokümanını açmak. Açtığınız Excel dokümanı içerisinden Araclar/Makro/Visual Basic düzenleyicisi içerisine girmeniz gerekiyor.

    Gireceğiniz makra menüsü içerisine Alt + F11 kısa yol tuşları ile de ulaşabilirsiniz. Burada menüleri içerisinden Insert ve ardından da Module bölümüne giriyoruz. Burada karşınıza boş bir sayfa çıkacak. Çıkan boş sayfa içerisine ikinci sayfada verdiğimiz kodu yapıştırmalısınız. Kodu kopyala yapıştır yöntemiyle doküman içerisine yapıştırmanızın ardından çalıştığınız dokümanı kaydetmelisiniz.
    {pagebreak::2}
    Dim b$(9)
    Dim y$(9)
    Dim m$(4)
    Dim v(15)
    Dim c(3)

    Function yaz$(sayi)

    b$(0) = “”

    b$(1) = “bir”

    b$(2) = “iki”

    b$(3) = “üç”

    b$(4) = “dört”

    b$(5) = “beş”

    b$(6) = “altı”

    b$(7) = “yedi”

    b$(8) = “sekiz”

    b$(9) = “dokuz”

    y$(0) = “”

    y$(1) = “on”

    y$(2) = “yirmi”

    y$(3) = “otuz”

    y$(4) = “kırk”

    y$(5) = “elli”

    y$(6) = “altmış”

    y$(7) = “yetmiş”

    y$(8) = “****en”

    y$(9) = “doksan”

    m$(0) = “trilyon”

    m$(1) = “milyar”

    m$(2) = “milyon”

    m$(3) = “bin”

    m$(4) = “”

    a$ = Str(sayi)

    If Left$(a$, 1) = ” ” Then pozitif = 1 Else pozitif = 0

    a$ = Right$(a$, Len(a$) – 1)

    For x = 1 To Len(a$)

    If (Asc(Mid$(a$, x, 1)) > Asc(“9”)) Or (Asc(Mid$(a$, x, 1)) < Asc(“0”)) Then GoTo hata

    Next x

    If Len(a$) > 15 Then GoTo hata

    a$ = String(15 – Len(a$), “0”) + a$

    For x = 1 To 15

    v(x) = Val(Mid$(a$, x, 1))

    Next x

    s$ = “”

    For x = 0 To 4

    c(1) = v((x * 3) + 1)

    c(2) = v((x * 3) + 2)

    c(3) = v((x * 3) + 3)

    If c(1) = 0 Then

    e$ = “”

    ElseIf c(1) = 1 Then

    e$ = “yüz”

    Else

    e$ = b$(c(1)) + “yüz”

    End If

    e$ = e$ + y$(c(2)) + b$(c(3))

    If e$ <> “” Then e$ = e$ + m$(x)

    If (x = 3) And (e$ = “birbin”) Then e$ = “bin”

    s$ = s$ + e$

    Next x

    If s$ = “” Then s$ = “sıfır”

    If pozitif = 0 Then s$ = “Eksi” + s$

    yaz$ = s$

    GoTo tamam

    hata: yaz$ = “Hata”

    tamam:

    End Function
    {pagebreak::3}
    İşlemlerimiz bu kadar artık herhangi bir rakamı istediğiniz hücreye metin olarak yazdırabilirsiniz. Tek yapmanız gereken hücre içerisine “=yaz(rakamın bulunduğu hücre)” kodunu girmelisiniz. Ama şunu belirtmemizde fayda var kullandığınız makro 15 rakamın üzerindeki sayılarda hata verecektir. Bunu unutmamanızda fayda var.

    :: Excel’de yaşadığınız ilginç anıları forumumuzda paylaşın.

     

    ×

    Yorumunuz gönderildi,
    onaylandıktan sonra yayımlanacak.

    7 Yorum

    1. SDN Okuru

      Bu makro ben askerdeyken nerdeydi… 🙂 İşimi acaip kolaylaştırırdı elle yazmak bayıyordu artık…

    2. SDN Okuru

      ARKADAŞIM BEN YAPAMADIM

    3. SDN Okuru

      iyide olmuyoki yaptım ama 🙂

    4. Jojoba

      Hep makro yazmak istemisimdir teşekkürler 😉

    5. SDN Okuru

      Kodlar çalışıyor hiç de zor bişi değil. Teşekkürler.

    6. SDN Okuru

      vigülden sonraki kuruş hanesini yazmıyor 🙁

    Diğer yorumları gör (6) Yorum Yap

    Yorum Yaz

    SDN Network