• DİKKAT

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

Ondalık rakamı yazıya çevirme

sirkülasyon

Altın Üye
Katılım
10 Temmuz 2012
Mesajlar
2,543
Excel Vers. ve Dili
2021 LTSC TR
Değerli üstadlarım
0,012 rakamını yazıya çeviren uygulama mevcut mudur?
Sitede bulamadım. Yardımcı olabilir misiniz?
 
Sayın kemalist
Tam olarak değeri yazmıyor abi ya. Sıfır tam onda iki, Sıfır tam binde oniki gibi.
 
Sayın sirkülasyon,

Verdiğim çözüm işe yaradı mı? Yaramadı mı?

.
 
Sayın İdris Hocam,
Elinize sağlık teşekkür ederim.

şunu sormak isterim;
6.712,345 altıbinyediyüzoniki tam, binde üçyüzkırkbeş ifadesindeki yazı kısmı altı bin yedi yüz on iki tam, binde üç yüz kırk beş şekline nasıl getirilir?

Saygılarımla
 
.
Aşağıdaki kodları kullanın.


Kod:
Function Yaziyla_Ondalik(rkm#)
    
    ReDim bler$(10), olar$(10), bsmk$(5)
    
    bler$(0) = "" 'bler=birler
    bler$(1) = "bir "
    bler$(2) = "iki "
    bler$(3) = "üç "
    bler$(4) = "dört "
    bler$(5) = "beş "
    bler$(6) = "altı "
    bler$(7) = "yedi "
    bler$(8) = "sekiz "
    bler$(9) = "dokuz "
    
    olar$(0) = "" 'olar=onlar
    olar$(1) = "on "
    olar$(2) = "yirmi "
    olar$(3) = "otuz "
    olar$(4) = "kırk "
    olar$(5) = "elli "
    olar$(6) = "altmış "
    olar$(7) = "yetmiş "
    olar$(8) = "seksen "
    olar$(9) = "doksan "
    
    bsmk$(1) = "" 'bsmk=basamak
    bsmk$(2) = "bin "
    bsmk$(3) = "milyon "
    bsmk$(4) = "milyar "
    bsmk$(5) = "trilyon "
    
    vrgl2$ = "" 'vrgl=virgül
    ynt$ = ""
    onda$ = ""

    Say$ = Str$(rkm#)
    vrgl% = InStr(1, Say$, ".")
    If vrgl% Then
        Say$ = Right$(Say$, Len(Say$) - vrgl%)
        Select Case Len(Say$)
            Case 6
            onda$ = "tam, milyonda"
            Case 5
            onda$ = "tam, yüzbinde"
            Case 4
            onda$ = "tam, onbinde"
            Case 3
            onda$ = "tam, binde"
            Case 2
            onda$ = "tam, yüzde"
            Case 1
            onda$ = "tam, onda"
            
        End Select
        GoSub dndr 'dndr=döndür

        vrgl2$ = " " + onda$ + " " + ynt$
        ynt$ = ""
        
        Say$ = Str$(rkm#)
        Say$ = Left(Say$, vrgl% - 1)
    End If
    GoSub dndr
    
    Yaziyla_Ondalik = ynt$ + vrgl2$
    If Int(rkm#) = 0 Then Yaziyla_Ondalik = "sıfır" & Yaziyla_Ondalik
Exit Function

dndr:
     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$ = bler$(y%)
                yazi$ = yazi$ + "yüz "
            End If
            
            yazi$ = yazi$ + olar$(O%) + bler$(b%)

            If yazi$ <> "" Then
                If LCase(yazi$) = "bir" And i% = 2 Then yazi$ = ""
                ynt$ = yazi$ + bsmk$(i%) + ynt$
            End If
     Next i%
     Return
    
End Function
 
Sayın İdris Hocam,
İlginize çok teşekkür ederim.
1234,56 sayısında hata veriyor
Saygılarımla
 
Sayın İdris Hocam,
İlginize tekrar çok teşekkür ederim. Problemimi aşağıdaki fonksiyonla çözümledim.
Kod:
 =KIRP(YERİNEKOY(Yaziyla_Ondalik(C17);"bir bin ";"bin "))
1789,1654 bin yedi yüz seksen dokuz tam, on binde bin altı yüz elli dört
(lütfen tenkit olarak algılamayınız, küçük hatalar sadece aralık bırakınca ortaya çıkıyor)
Saygılarımla
 
Son düzenleme:
.

bler$(1) = "bir "

bler$(1) = "bir"

olarak değiştirirseniz olur herhalde...
 
Sayın İdris Hocam,
Çok teşekkür ederim ilginize.
Saygılarımla
 
İdris Hocam Merhaba,
Formülünüzün virgülden sonrasını sadece yüzde olarak okutmak için ne yapmam gerek?

Örn:
10,10 =Yüzde on
10,02 =Yüzde iki

Saygılar..
 
Geri
Üst