Excelde rakamla 595,65 şeklinde yazdığım bir veriyi başka bir hücrede yazı olarak (beşyüzdoksanbeşytlaltmışbeşkuruş) gibi yazman için hangi formülü kullanırız?
Yardımlarınızı bekliyorum.
Excelde rakamla 595,65 şeklinde yazdığım bir veriyi başka bir hücrede yazı olarak (beşyüzdoksanbeşytlaltmışbeşkuruş) gibi yazman için hangi formülü kullanırız?
Yardımlarınızı bekliyorum.
Buyrun boyle bı ornek vardı elımde bıraz gec oldu ama belkı baska arkadasların ısıne yarar :)
Kodlar :
Function Yaziyla(Sayi#)
Dim virgul2 As String
Dim cevap As String
Dim yazi As String
Dim Say As String
Dim uclu As String
Dim virgul As Integer
Dim o As Integer
Dim b As Integer
Dim x As Integer
Dim i As Integer
Dim y As Integer
Dim YTL As String
Dim YKR As String
If Sayi# = 0 Then Yaziyla = "Sıfır": Exit Function
ReDim birler$(10), onlar$(10), basamak$(5)
birler$(0) = "": birler$(1) = "Bir"
birler$(2) = "İki": birler$(3) = "Üç"
birler$(4) = "Dört": birler$(5) = "Beş"
birler$(6) = "Altı": birler$(7) = "Yedi"
birler$(8) = "Sekiz": birler$(9) = "Dokuz"
onlar$(0) = "": onlar$(1) = "On"
onlar$(2) = "Yirmi": onlar$(3) = "Otuz"
onlar$(4) = "Kırk": onlar$(5) = "Elli"
onlar$(6) = "Altmış": onlar$(7) = "Yetmiş"
onlar$(8) = "Seksen": onlar$(9) = "Doksan"
basamak$(1) = "": basamak$(2) = "Bin "
basamak$(3) = "Milyon ": basamak$(4) = "Milyar "
basamak$(5) = "Trilyon "
virgul2 = ""
cevap = ""
'AŞAĞIDAKİ 2 SATIRDAKİ ÇİFT TIRNAK İÇERİĞİNİ DEĞİŞTİREREK
'VEYA ÇİFT TIRNAĞIN ARASINI SİLEREK "" VEYA "," GİBİ
'İSTEĞİNİZ SONUCUN ÇIKMASINI SAĞLAYABİLİRSİNİZ.
TL = ".-TL., "
KR = ".-KR."
Say = Str$(Sayi#)
virgul = InStr(1, Say, ".")
If virgul Then
'Aşağadaki satır 26,4 Yirmialtı TL, KIRK KR olarak okutur.
' (Yirmialtı TL, DÖRT KR olarak değil)
'İptal etmek isterseniz başına bir ' tek tırnak işareti koyunuz
If Len(Mid(Say, virgul + 1)) = 1 Then Say = Say + "0"
Say = Right$(Say, Len(Say) - virgul)
GoSub cevir
If cevap = "" Then KR = ""
virgul2 = cevap + KR
cevap = ""
Say = Str$(Sayi#)
Say = Left$(Say, virgul - 1)
End If
GoSub cevir
If cevap = "" Then TL = ""
Yaziyla = cevap + TL + virgul2
Exit Function
cevir:
x = Len(Say)
Say = String$(3 - (x - Int(x / 3) * 3), 48) + Say
x = Len(Say) / 3
For i = 1 To x
uclu = Mid$(Say, Len(Say) - i * 3 + 1, 3)
y = Val(Mid$(uclu, 1, 1))
o = Val(Mid$(uclu, 2, 1))
b = Val(Mid$(uclu, 3, 1))
yazi = ""
If y <> 0 Then
If y > 1 Then yazi = birler$(y)
yazi = yazi + "Yüz "
End If
yazi = yazi + onlar$(o) + birler$(b)
If yazi <> "" Then
If LCase(yazi) = "bir" And i = 2 Then yazi = ""
cevap = yazi + basamak$(i) + cevap
End If
Next i
If Sayi# < 0 Then cevap = "-Eksi-" + cevap
Return
End Function