Excelde sayıyı metine nasıl çevirebilirim?

Kodla Büyü
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) = "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
 
poet' Alıntı:
Örneğin a1 hücresinde 12 a2 hücresinde oniki yazmasını istiyorum..
soru bana garip geldi ama bu sekılde mı hocam
 

Ekli dosyalar

  • bu.png
    bu.png
    15.5 KB · Görüntüleme: 762
Araçlar>Makro>Visual Basic Düzenleyicisi (Kısayol: Alt+F11)Insert>Module tıklayın. Açılan boş sayfaya aşağıdaki kodu yapıştır. Kaydedip Excel’e geri dön.Deneme için A1 hücresine bir sayı yazın B1 hücresine geçip şu formülü yaz =yaz(A1) Yazdığın rakamlar metne dönüşecektir. Burada kullanacağımız işlem terimi =yaz(hücre_adı) olacaktır.
 
Geri
Üst