rakamı metine çevirme

Katılım
13 Ekim 2005
Mesajlar
135
arkadaşlar aşağıda gibi formul var elimde ama sadece düz rakamı çeviriyor. bana kuruşlu lazım. ayrdımcı olabilirmisiniz. sonlarına ytl ve ykr yazdırabilirsek çok iyi olur.

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
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,230
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Bu konuyla ilgili arama yapsaydınız eğer birsürü başlık bulabilirdiniz. (YTL and KURUÞ gibi)

Ekteki dosyayı eklenti olarak kaydederseniz tüm excel dosyalarınızda kullanabilirsiniz.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,230
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Bu fonksiyonun kullanım şekli aşağıdaki gibidir.

=PARAÇEVİR(A1) Bu şekilde kullanırsanız çeviriye LİRA VE KURUÞ ibaresi ekler.

=PARAÇEVİR(A1;"YTL";"YKR") Bu şekilde istediğiniz ibareyi ekleyebilirsiniz.
 
Katılım
13 Ekim 2005
Mesajlar
135
öncelikle teşekürederim.

diğer formalarda sayfa 4 kadar baktım bulamadım. bunun için özür diliyorum.

bu arada ad$ hatası alıyorum.

ben a1 hücresinde bulunan 15,50 değeri b1 hücresinde enbeş ytl elli ykr olarak metne çevrilmesini istiyorum. hocam bu yapıyor değil mi.
 
Üst