Metne çevirmek

Katılım
10 Temmuz 2007
Mesajlar
273
Excel Vers. ve Dili
2002 türkçe
Arkadaşlar;
1.250,50 sayısını _BinİkiYüzElli(YTL)Elli(YKR)_
375,00 sayısını _ÜçYüzYetmişBeş(YTL)_
şeklinde veya daha güzel bir şekilde nasıl metne çevirebiliriz. Bunu özellikle sorguda kullanmak istiyorum. Yardımcı olursanız çok sevinirim.
Saygılar, İyi Çalışmalar.
 
Son düzenleme:
Katılım
10 Temmuz 2007
Mesajlar
273
Excel Vers. ve Dili
2002 türkçe
metnecevir

Ekte bir örnek hazırladım ancak örnekte de görüleceği gibi sonuca ( ondalıklı sayılarda hata ile beraber) 3-4 sorgu ile ancak ulaşabildim.
İstediğim, kod ile bir fonksiyon hazırlayıp, sorguda fonksiyonu çağırıp sonuca ulaşmak.
Yani sorguya aşağıdaki gibi bir alan eklediğimde sonuca ulaşmak.
Fonksiyonun adı "metnecevir"
Deyim1: metnecevir([Tutar])
 
Katılım
10 Temmuz 2007
Mesajlar
273
Excel Vers. ve Dili
2002 türkçe
Cevap verebilecek kimse yok galiba.
:(
Saygılar, İyi Çalışmalar.
 
Katılım
25 Aralık 2005
Mesajlar
4,160
Excel Vers. ve Dili
MS Office 2010 Pro Türkçe
Sayın ayhan2122,

Sorunuzu dün de gördüm ama forumda hem access bölümünde hem de excel bölümünde sorununuzun cevabı var. Ama şimdi arayacak vaktim yok.
Aşağıdaki kodları bir modüle kopyalayıp YTL([alanadı]) olarak kullanın.

Kod:
Function YTL(sayi)
    x = InStr(1, sayi, ",")
    If x > 0 Then
        Lira = yaz$(Mid(sayi, 1, x - 1)) & " YENI TÜRK LIRASI "
        TempKurus = Mid(sayi, x + 1, 98)
        If Len(TempKurus) = 1 Then TempKurus = TempKurus * 10
        If Len(TempKurus) > 2 Then TempKurus = Mid(TempKurus, 1, 2)
        Kurus = yaz$(TempKurus) & "  YENI KURUS"
    Else
        Lira = yaz$(sayi) & " YENI TÜRK LIRASI "
    End If
    YTL = Lira & Kurus
End Function
'
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) = "IKI"
b$(3) = "ÜÇ"
b$(4) = "DÖRT"
b$(5) = "BES"
b$(6) = "ALTI"
b$(7) = "YEDI"
b$(8) = "SEKIZ"
b$(9) = "DOKUZ"
y$(0) = ""
y$(1) = "ON"
y$(2) = "YIRMI"
y$(3) = "OTUZ"
y$(4) = "KIRK"
y$(5) = "ELLI"
y$(6) = "ALTMIS"
y$(7) = "YETMIS"
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
a$ = ""
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$ = "BİRBİN") Then e$ = "BİN"
s$ = s$ + e$
Next x
If s$ = "" Then s$ = "SIFIR"
If pozitif = 0 Then s$ = "" + s$
yaz$ = s$
GoTo tamam
hata: yaz$ = "hata"
tamam:
End Function
 
Katılım
10 Temmuz 2007
Mesajlar
273
Excel Vers. ve Dili
2002 türkçe
Sn modal&#305;;
Ne kadar te&#351;ekk&#252;r etsem azd&#305;r. &#199;ok sa&#287;olun.
Sayg&#305;lar, &#304;yi &#199;al&#305;&#351;malar.
 
Üst