Anasayfa | Akademik Forum | Sizden Gelenler | Sipariş
Menü Açıklamaları
Sorular - Cevaplar
Makaleler
Makrolar
Yerleşik İşlevler
Animasyonlar
Yumurtalar
Fonksiyonlar
MTK Programlar
ExcelCE
Dosya İndir
Neler Yaptık?
İletişim
Fonksiyonlar
Rakamı Metne Çeviren Fonksiyon
Siz hücreye rakamı giriyorsunuz ve bu rakamın metne çevrildiğini görüyorsunuz. Hücreye =yaz (rakam ya da hücre adresi) fonksiyonunu giriyorsunuz.

Function yaz$(sayi)
  Dim b$(9)
  Dim y$(9)
  Dim m$(4)
  Dim v(15)
  Dim c(3)

  b$(0) = ""
  b$(1) = "Bir"
  b$(2) = "İki"
  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) = "Seksen"
  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
Destek
M.ÖZTÜRK - Y.KARAMAN
Bu siteyi, "Hayatını çocuklarının Ahlâklı ve Dürüst yetişmesi için harcamış olan Cefakar ve Fedakar, Canım ANNEM'e adadım."
Copyright © 1998-2011 M. Temel Korkmaz - Tüm hakları saklıdır.