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, 14:04   #1
turkanet
 
Giriş: 30/03/2005
Mesaj: 753
Excel Vers. ve Dili:
2016 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, 14:36   #2
Necdet Yeşertener
Moderatör
 
Giriş: 04/06/2005
Şehir: Ankara
Mesaj: 11,969
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 18:50


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

Excel Eğitimi - Mobil Uygulama - Çorlu - Çorlu Web Tasarım -- Beylikdüzü mali müşavir - Lingerie - Dyeing Machine - Karton Bardak- Çorlu Özel Eğitim- Site Yönetimi- Pronet Tekirdağ- Çorlu Kamera- Pronet Edirne- Pronet Kırklareli- Pronet Çerkezköy- Pronet Çorlu- Pronet Lüleburgaz- Pronet Keşan- Çorlu Araç Takip- Çorlu Su Arıtma- Gebze Emlak- Bakır Sülfat- Rampa- Rotary- Çorlu İnternet Sitesi- youngblood- Çorlu Sürücü Kursu- Çorlu Sandviç Panel- Şişli Avukat- Korona Test Kalemi- Çorlu Vinç- Çorlu Pimapen Tamiri- Çorlu Çelik Konstruksiyon- Çorlu Dans- Edirne Serbest Muhasebeci- Çorlu Etüt- İstanbul Botanik- Çorlu Sigorta-
Powered by vBulletin Version 3.7.2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Advertisement System V2.6 By   Branden