• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Notu yazıya çevirme

Katılım
22 Temmuz 2007
Mesajlar
8
Excel Vers. ve Dili
Excel 2003
Merhaba.
Arkadaşlar ben öğrenci notları için küçük bi program hazırlıyorum. Ama notu nasıl yazıya çevireceğimi bulamadım. Mesela 4,25 yazdığımda programın "Dört yirmi beş" yazmasnı istiyorum. Forumda bununla ilgili konuları okudum. Linkler çalışmadığı için çoğunu kendime göre de uyarlayamadım. Yardımcı olursanız çok sevinirim.
 
Aşağıdaki kodların en sonunda yazan yerde "YTL" ve "YKR" yazan yerleri silerseniz sanırım istediğiniz olur.
Kod:
Function yaz$(ytl, ykr)
Dim aa(2)
Dim deg(2)
aa(1) = Val(ytl)
aa(2) = Val(ykr)
For zz = 1 To 2
Sayi = aa(zz)
Dim b$(9)


Dim y$(9)
Dim m$(4)
Dim v$(15)
Dim c$(3)
b$(0) = ""
b$(1) = "BİR"
b$(2) = "İKİ"
b$(3) = "ÜÇ"
b$(4) = "DÖRT"
b$(5) = "BEŞ"
b$(6) = "ALTI"
b$(7) = "YEDİ"
b$(8) = "SEKİZ"
b$(9) = "DOKUZ"
y$(0) = ""
y$(1) = "ON"
y$(2) = "YİRMİ"
y$(3) = "OTUZ"
y$(4) = "KIRK"
y$(5) = "ELLİ"
y$(6) = "ALTMIŞ"
y$(7) = "YETMİŞ"
y$(8) = "SEKSEN"
y$(9) = "DOKSAN"
m$(0) = "TRILYON"
m$(1) = "MİLYAR"
m$(2) = "MİLYON"
m$(3) = "BİN"
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&#220;Z"
Else
e$ = b$(c(1)) + "Y&#220;Z"
End If
e$ = e$ + y$(c(2)) + b$(c(3))
If e$ <> "" Then e$ = e$ + m$(x)
If (x = 3) And (e$ = "B&#304;RB&#304;N") Then e$ = "B&#304;N"
s$ = s$ + e$
Next x
If s$ = "" Then s$ = "SIFIR"
If pozitif = 0 Then s$ = "" + s$
deg(zz) = s$
GoTo tamam
hata: yaz$ = "hata"
tamam:
s$ = ""
Next
yaz$ = deg(1) & " YTL " & deg(2) & " YKR"
End Function
 
Dedi&#287;iniz yerlere bakt&#305;m ama onlar d&#252;z say&#305;lar &#231;eviriyolar. Ondal&#305;k say&#305;y&#305; &#231;eviren bir tane laz&#305;m. Onlar&#305; uyarlaman&#305;n m&#252;mk&#252;n oldu&#287;undan eminim ama benim o kadar excel bilgim olmad&#305;&#287;&#305;ndan onu yapam&#305;yorum.
Asl&#305;nda istedi&#287;im verilen &#246;rneklere g&#246;re &#231;ok basit. &#199;&#252;nk&#252; n&#246;&#287;renci notlar&#305; sadece 5 e kadar. o y&#252;zden y&#252;zle binle i&#351;im yok. ama ondal&#305;k oldu&#287;u i&#231;in problemli.

Yine de &#231;ok te&#351;ekk&#252;r ediyorum yard&#305;m&#305;n&#305;z i&#231;in.
 
Asl&#305;nda bende bir &#246;rne&#287;i var ama &#231;ok uzun bir yap&#305;lm&#305;&#351;. B&#252;t&#252;n olas&#305; say&#305;lar(yakla&#351;&#305;k 400 kadar) h&#252;crelere girilmi&#351;. D&#252;&#351;eyara form&#252;l&#252; ile istenen yaz&#305; bulunmaya &#231;al&#305;&#351;&#305;lm&#305;&#351;. Ben daha kestirme bir yolunu merak etmi&#351;tim. &#199;&#252;nk&#252; zaten program&#305;n her yeri form&#252;l dolu o y&#252;zden ekonomik bir form&#252;l ar&#305;yorum.
 
Ahhh. tamam te&#351;ekk&#252;rler. &#231;&#246;z&#252;m&#252; buldum. &#231;ok te&#351;ekk&#252;rler
 
Asl&#305;nda istedi&#287;im verilen &#246;rneklere g&#246;re &#231;ok basit. &#199;&#252;nk&#252; n&#246;&#287;renci notlar&#305; sadece 5 e kadar. o y&#252;zden y&#252;zle binle i&#351;im yok. ama ondal&#305;k oldu&#287;u i&#231;in problemli.

Yine de &#231;ok te&#351;ekk&#252;r ediyorum yard&#305;m&#305;n&#305;z i&#231;in.


Ondal&#305;kl&#305; be&#351;e kadar yaz&#305;lacak ise form&#252;ll&#252;


=E&#286;ER((A1-(SA&#286;DAN(A1;1))=0);ARA(A1;{0;1;2;3;4;5};{"S&#305;f&#305;r";"Bir";"&#304;ki";"&#220;&#231;";"D&#246;rt";"Be&#351;"});ARA(A1;{0;1;2;3;4;5};{"S&#305;f&#305;r";"Bir";"&#304;ki ";"&#220;&#231;";"D&#246;rt";"Be&#351;"})&" nokta "&(ELEMAN((SA&#286;DAN(A1;1));"bir";"iki";"&#252;&#231;";"d&#246;rt";" be&#351;";"alt&#305;";"yedi";"sekiz";"dokuz";"on")))


olarak deneyiniz.
 
Son düzenleme:
hay&#305;r yazacakt&#305;m ama ben haz&#305;rlay&#305;ncaya kadar arkada&#351; daha k&#305;sas&#305;n&#305; yaz&#305;vermi&#351;
o y&#252;zden gerek duymad&#305;m
 
Geri
Üst