• DİKKAT

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

yazıyla eklentisine diyez simgesi ekleme

Katılım
9 Ağustos 2005
Mesajlar
67
Merhabalar
hücre içindeki parasal değeri yazı ile yazdırdığım yazıyla eklendisine # simgesi koymak istiyorum.Yani rakam olarak 25.243,25 YTL yi #Yirmibeşbinikiyüzkırküç YeniTürk Lirası Yirmibeş Yeni Kuruştur# yazdırmak istiyorum.Bunu yazıyla ekletisi ile yapıyorum ama yazı ile kısmın başına # işaretlerini koyamıyorum.Yardımcı olan arkadaşlara çok teşekkür ederim.
 
Eklentinin kodlarını görmek lazım.

Kodlara dokunmadan ;

="# " &yaziyla(a1)

şeklinde formülle yapabilirsiniz.

.
 
kullanmış olduğum yazıyla eklentisinin kodları değerli üstadım

Public Function ytlyedonustur(Para)
Dim ParaStr As String
Dim YTL As String, Kurus As String

If Not IsNumeric(Para) Then GoTo SayiDegil
Para = Para / 1000000
ParaStr = Format(Abs(Para), "0.00")

YTL = Left(ParaStr, Len(ParaStr) - 3)
Kurus = Right(ParaStr, 2)

ytlyedonustur = Val(IIf(Para < 0, "-", "") & YTL & "." & Kurus)

Exit Function

SayiDegil:
ytlyedonustur = "GİRİLEN DEĞER SAYI DEĞİL!"
End Function

Public Function yaz(Para)
Dim ParaStr As String
Dim YTL As String, Kurus As String

If Not IsNumeric(Para) Then GoTo SayiDegil

ParaStr = Format(Abs(Para), "0.00")

YTL = Left(ParaStr, Len(ParaStr) - 3)
Kurus = Right(ParaStr, 2)
've baglacini alt satirda kaldirin " YTL " olarak düzeltin.
yaz = IIf(Para < 0, "Eksi ", "") & Cevir(YTL) & " YTL ve " & Cevir(Kurus) & " KURUŞ"

Exit Function

SayiDegil:
yaz = "GİRİLEN DEĞER SAYI DEĞİL!"
End Function

Private Function Cevir(SayiStr As String) As String
Dim Rakam(15)
Dim c(3), Sonuc, e

Birler = Array("", "bir", "iki", "üç", "dört", "beş", "altı", "yedi", "sekiz", "dokuz")
Onlar = Array("", "on", "yirmi", "otuz", "kırk", "elli", "altmış", "yetmiş", "seksen", "doksan")
Binler = Array("trilyon", "milyar", "milyon", "bin", "")

SayiStr = String(15 - Len(SayiStr), "0") + SayiStr

For i = 1 To 15
Rakam(i) = Val(Mid$(SayiStr, i, 1))
Next i

Sonuc = ""
For i = 0 To 4
c(1) = Rakam(i * 3 + 1)
c(2) = Rakam(i * 3 + 2)
c(3) = Rakam(i * 3 + 3)
If c(1) = 0 Then
e = ""
ElseIf c(1) = 1 Then
e = "yüz"
Else
e = Birler(c(1)) + "yüz"
End If
e = e + Onlar(c(2)) + Birler(c(3))
If e <> "" Then e = e + Binler(i)
If (i = 3) And (e = "birbin") Then e = "bin"
Sonuc = Sonuc + e
Next i

If Sonuc = "" Then Sonuc = "00"

Cevir = UCase(Mid(Sonuc, 1, 1)) + Mid(Sonuc, 2, Len(Sonuc) - 1)
End Function
 
Kodun sondan ikinci satırını:

Cevir = "#" & UCase(Mid(Sonuc, 1, 1)) + Mid(Sonuc, 2, Len(Sonuc) - 1)&"#"


şeklinde yapın.


Koda dokunmadan:

="#"&cevir(A1)&"#"
.

.
 
Değerli üstadım öncelikle çok teşekkür ederim uğraştığınız için, yapmış olduğunuz formül sadece yazının başına koyuyor diyez işaretini ben hem başına hemde sonuna koymak istiyorum
örnek: #Bindokuzyüzdosan Yeni türk lirası elli kuruş# gibi cevabınıza şimdiden sonsuz teşekkürler
 
Kodun sondan ikinci satırını:

Cevir = "# " & UCase(Mid(Sonuc, 1, 1)) + Mid(Sonuc, 2, Len(Sonuc) - 1)


şeklinde yapın.


Koda dokunmadan:

="# "&cevir(A1)


.

.

Sayın Yurttaş'ın çözümlerini şu şekilde düzenleyin...

1.)
Cevir = "# " & UCase(Mid(Sonuc, 1, 1)) + Mid(Sonuc, 2, Len(Sonuc) - 1) & " #"


2.)
="# "&cevir(A1) & " #"
 
Değerli üstadım öncelikle çok teşekkür ederim uğraştığınız için, yapmış olduğunuz formül sadece yazının başına koyuyor diyez işaretini ben hem başına hemde sonuna koymak istiyorum
örnek: #Bindokuzyüzdosan Yeni türk lirası elli kuruş# gibi cevabınıza şimdiden sonsuz teşekkürler

Ben sadece başına algılamışım.

Yukarıda düzelttim.

.
 
Geri
Üst