Arkadaşlar merhaba, aşağıdaki kodu excelde f11 ile insert+modül içine ekliyorum kod çalışıyor ör 33987 = otuz üç bin dokuz yüz seksen yedi şeklinde ancak şöyle bir isteğim var:
3.4356 şeklinde ki sayıları şu şekilde : üç dört bin üç yüz elli altı şeklinde yazdırmam gerekiyor. noktadan sonra mecbur 4 hane var
kodun şu anki hali bana: otuz dört bin üç yüz elli altı şeklinde veriyor.
Yardımcı olabilir misiniz?
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) = ""
On Error Resume Next
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