=YAZIYLA(..) MAKROSU HAKKINDA

Makrolar ve Basic programlama dili özel bölümü
Cevapla
uzman26
Mesajlar: 1
Kayıt: 13 Tem 2020, 02:14
İşletim Sisteminiz: window7
LibreOffice Sürümü: 6.3.1.2

=YAZIYLA(..) MAKROSU HAKKINDA

Mesaj gönderen uzman26 »

Merhaba arkadaşlar rakkamı tl ve kuruş olarak çeviren "YAZIYLA" makro 300,9 olan sonucu ücyüzlira seksendokuz kuruş olarak çeviriyor
oysaki ;ücyüzlira doksan kuruş olarak çevirmesi gerekiyor.Bunu nasıl düzeltebiliriz.?
Kullanıcı avatarı
Hamurcu
Mesajlar: 233
Kayıt: 06 Ağu 2012, 00:14
İşletim Sisteminiz: Windows 10
LibreOffice Sürümü: 7.x
Konum: İstanbul
İletişim:

Re: =YAZIYLA(..) MAKROSU HAKKINDA

Mesaj gönderen Hamurcu »

Merhaba,

Hangi kodu kullanıyorsunuz?

Yıllar önce yazdığım bir kod var şurada

Kuruş kısmı için;

Kod: Tümünü seç

Function YAZIYLA(ByVal Sayi as Double) as String
Dim OndalikKisim as Integer
Dim Lira, Kurus as String

    Lira = SAYIOKU( Int( Sayi ) ) + " Lira"
   
    Kurus = ""

    If Sayi <> Int( Sayi ) Then
        OndalikKisim = Int(Sayi*100 - Int(Sayi)*100)
        Kurus = " " + SAYIOKU(OndalikKisim) + " Kuruş"
    EndIf
    
    YAZIYLA = Lira + Kurus
End Function
Bu koddaki

Kod: Tümünü seç

OndalikKisim = Int(Sayi*100 - Int(Sayi)*100)
satırını aşağıdaki şekilde değiştirip dener misiniz.

Kod: Tümünü seç

OndalikKisim = Int(Sayi*1000 - Int(Sayi)*1000)
Kullanıcı avatarı
Hamurcu
Mesajlar: 233
Kayıt: 06 Ağu 2012, 00:14
İşletim Sisteminiz: Windows 10
LibreOffice Sürümü: 7.x
Konum: İstanbul
İletişim:

Re: =YAZIYLA(..) MAKROSU HAKKINDA

Mesaj gönderen Hamurcu »

İstersen aşağıda linkini verdiğim eklentiyi LibreOffice'e ekleyip kullanabilirsin.

Üstelik dünyadaki tüm dillerde ve parabirimlerinde geçerli.

NUMBERTEXT ve MONEYTEXT eklentisi şurada.

Kullanımı oldukça basit;

Kod: Tümünü seç

=NUMBERTEXT(A1;"tr-TR")
A1 hücresindeki sayıyı Türkçe yazıyla verir.

Aynı örneği aşağıdaki gibi yaparsak bu sefer sonuna Türk Lirası ibaresini ekler.

Küsürat okuması dahildir.

Kod: Tümünü seç

=MONEYTEXT(A1;;"tr-TR")
Hangisini tercih edersen onu kullanabilirsin.
Cevapla