metne çevir formülü

Kodla Büyü

botett

Süper Üye
Süper Üye
Seçkin Üye
Mesajlar
1,098
metne çevir formülünü nasıl kullanabiliriz. yazdığım syıyı metne çevirmek istiyorum ama yapamadım. yardımlarınızı bekliyorum
 
hocam

Araçlar>Makro>Visual Basic Düzenleyicisi (Kısayol: Alt+F11)Insert>Module tıkla


sonra

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



bu kodu yaz ve kaydet ....

A1 hüceresine sayını yaz .... B1 hücresine =yaz(a1) yaz ....
 
hocam teşekkür ediyorum. bunun daha basit bir yolu yok mu acaba...
 
bende yukardaki fonksiyonla yapıldıgını biliyorum sadece,

ama o da uzun bir yol sayılmaz aslında.
 
Yukarıdaki fonksiyonla oldu hocama tekrar teşekkür ederim. Ama bu şekilde bu formülü öğrencilere anlatamam...
 
Geri
Üst