Excel Forum
ALTIN ÜYELİK Hakkında Bilgi


Geri Git   Excel Forum > EXCEL-Soruları > Makro-VBA
Atatürk
Şifremi Unuttum

DUYURU SİSTEMİ / REKLAM PANOSU

Makro-VBA Makro veya VBA ile ilgili sorularınızı buraya gönderebilirsiniz.
Dosya ekleyebilirsiniz

Özel Arama


Yanıtla
 
Paylaş Konu Araçları Görünüm Modları
Eski 17-02-2017, 13:04   #1
turkanet
 
Giriş: 30/03/2005
Mesaj: 744
Excel Vers. ve Dili:
2013 EN
Varsayılan Parayı yazıya çevirme - "birbin" hatası

Merhaba,

Aşağıdaki kodları kulanarak, faturadaki tutarın TL açıklamasını yazdırıyorum. Ancak 1517 gibi binlik hanesinin bir olduğu durumda "birbin beşyüz onyedi" yazıyor. "birbin" ifadesini nasıl "bin" ifadesi ile değiştirebilirim bu kod içinde?

Cevabınız için şimdiden teşekkür ederim.


Function TL_tr(Para, Optional Pbirim = "Lira", Optional Kbirim = "Kurus")
Dim Parastr As String
Dim Lira As String, Kurus As String

If Not IsNumeric(Para) Then
TL_tr = "GIRILEN DEGER SAYI DEGIL!"
Exit Function
End If

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

Lira = Left(Parastr, Len(Parastr) - 3)
Kurus = Right(Parastr, 2)

TL_tr = IIf(Para < 0, "Eksi ", "") & Cevir(Lira) & " " & Pbirim & " " & _
IIf(Val(Kurus) <> 0, Cevir(Kurus) & " " & Kbirim & " ", "")
End Function
Private Function Cevir(Sayistr As String) As String
Dim Rakam(15)
Dim C(3), Sonuc, E

Birler = Array("", "Bir", "Iki", "Üç", "Dört", "Bes", "Alti", "Yedi", "Sekiz", "Dokuz")
Onlar = Array("", "On", "Yirmi", "Otuz", "Kirk", "Elli", "Altmis", "Yetmis", "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 = "Sifir"

Cevir = UCase(Mid(Sonuc, 1, 1)) + Mid(Sonuc, 2, Len(Sonuc) - 1)
End Function
__________________
TÜRKÇEMİZE SAHİP ÇIKALIM
turkanet Çevrimdışı   Alıntı Yaparak Cevapla
Eski 17-02-2017, 13:36   #2
Necdet Yeşertener
Moderatör
 
Giriş: 04/06/2005
Şehir: Ankara
Mesaj: 11,781
Excel Vers. ve Dili:
Ofis 2003 İngilizce Ofis 2007 Türkçe Ofis 2010 Türkçe
Varsayılan

Merhaba,

Forumda o kadar çok örnek var ki, onları inceleyin.
__________________
Sayfada Boş Satırları Silmek:
Sütunu Seçiniz, F5, Özel, Boşluklar, Tamam,
Sağ Klik, Sil, Tüm Satır, Tamam

Türkçe'nin Bir Eksiği Yok, Ya Sizin?



Necdet Yeşertener Çevrimdışı   Alıntı Yaparak Cevapla
Yanıtla


Konu Araçları
Görünüm Modları

Gönderme Kuralları
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Açık
SimgelerAçık
[IMG] kodu Açık
HTML kodu Kapalı


Saat 12:59


Bu forum Elit NET - www.elitnet.com.tr tarafından sunulmaktadır.

Excel Eğitimi - Mobil Uygulama - Çorlu - Çorlu Hurda - Torna - Çorlu Web Tasarım - Tarot Falı - Fenerbahçe Haberleri - Trakya Haberleri - Investing - Hurda - Kobi Danışmanlık - Tekirdağ Samsung - Kozmetik Ürünler - Sağlıklı Makyaj Ürünleri - Yaşlanma Karşıtı Ürünler - Excel Eğitimi - Çorlu OSGB - Lingerie - Dyeing Machine - Çorlu Temizlik- Didim Çatı İnşaat- Çorlu Ambar- Hava Çekimi- Hazır Site- SEO- Çorlu Estetik
Powered by vBulletin Version 3.7.2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Advertisement System V2.6 By   Branden