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.
 

Merhum İdris SERDAR

Moderatör
Yönetici
Katılım
21 Ekim 2005
Mesajlar
17,094
Excel Vers. ve Dili
Excel, 365 - İngilizce
Eklentinin kodlarını görmek lazım.

Kodlara dokunmadan ;

="# " &yaziyla(a1)

şeklinde formülle yapabilirsiniz.

.
 
Katılım
9 Ağustos 2005
Mesajlar
67
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
 

Merhum İdris SERDAR

Moderatör
Yönetici
Katılım
21 Ekim 2005
Mesajlar
17,094
Excel Vers. ve Dili
Excel, 365 - İngilizce
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)&"#"
.

.
 
Katılım
9 Ağustos 2005
Mesajlar
67
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
 
Katılım
17 Ocak 2008
Mesajlar
185
Excel Vers. ve Dili
2003 Türkçe - 2007 Türkçe
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) & " #"
 

Merhum İdris SERDAR

Moderatör
Yönetici
Katılım
21 Ekim 2005
Mesajlar
17,094
Excel Vers. ve Dili
Excel, 365 - İngilizce
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.

.
 
Üst