manisali61
Banned
- Katılım
- 8 Mart 2010
- Mesajlar
- 176
- Excel Vers. ve Dili
- Excel2003
Arkadaşlar merhaba.
Yine bu siteden aldığım rakamı yazıya çevir kodlarını kullanıyorum..Fakat şöyle bir eklenti yapmak istiyorum :
1) Harflerin tümü BÜYÜK HARF olsun
2) Fiyatlar arasında boşluk olmasın (Örneğin BİN İKİ YÜZ ELLİ LİRA değil de BİNİKİYÜZELLİ LİRA şeklinde yazsın.
3) Eğer kuruş hanesi 00 ise 00 KR değilde boş bıraksın.(Örneğin :
BİNELLİ TL 00 KR değil,BİNELLİ TL yazsın)
Kodları aşağıya kopyalıyorum.
Şimdiden teşekkürler
Kodlar şöyle idi :
Public Function ParaCevir(Para)
Dim ParaStr As String
Dim TL As String, Kurus As String
If Not IsNumeric(Para) Then GoTo SayiDegil
ParaStr = Format(Abs(Para), "0.00")
TL = Left(ParaStr, Len(ParaStr) - 3)
Kurus = Right(ParaStr, 2)
ParaCevir = IIf(Para < 0, "Eksi ", "") & Cevir(TL) & " TL " & Cevir(Kurus) & " Krs"
Exit Function
SayiDegil:
ParaCevir = "GİRİLEN DEĞER SAYI DEĞİL!"
End Function
Sub bicim4()
'/- sayıları yuvarla
'/- 100 sayısını döndürür
[A2].Value = Int(100.4 + 0.5)
End Sub
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
Yine bu siteden aldığım rakamı yazıya çevir kodlarını kullanıyorum..Fakat şöyle bir eklenti yapmak istiyorum :
1) Harflerin tümü BÜYÜK HARF olsun
2) Fiyatlar arasında boşluk olmasın (Örneğin BİN İKİ YÜZ ELLİ LİRA değil de BİNİKİYÜZELLİ LİRA şeklinde yazsın.
3) Eğer kuruş hanesi 00 ise 00 KR değilde boş bıraksın.(Örneğin :
BİNELLİ TL 00 KR değil,BİNELLİ TL yazsın)
Kodları aşağıya kopyalıyorum.
Şimdiden teşekkürler
Kodlar şöyle idi :
Public Function ParaCevir(Para)
Dim ParaStr As String
Dim TL As String, Kurus As String
If Not IsNumeric(Para) Then GoTo SayiDegil
ParaStr = Format(Abs(Para), "0.00")
TL = Left(ParaStr, Len(ParaStr) - 3)
Kurus = Right(ParaStr, 2)
ParaCevir = IIf(Para < 0, "Eksi ", "") & Cevir(TL) & " TL " & Cevir(Kurus) & " Krs"
Exit Function
SayiDegil:
ParaCevir = "GİRİLEN DEĞER SAYI DEĞİL!"
End Function
Sub bicim4()
'/- sayıları yuvarla
'/- 100 sayısını döndürür
[A2].Value = Int(100.4 + 0.5)
End Sub
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
