Excel Vba Forum - Excelce.Net

SORU ve CEVAPLAR (Yazılabilir) => Microsoft Excel, Vba, Makro, Formül vb. Soruları => Konuyu başlatan: grandmaster55 - 06 Eylül 2020, 11:48:32

Başlık: VBA- Virgülden sonra hesap yapaken sapıtması
Gönderen: grandmaster55 - 06 Eylül 2020, 11:48:32
Merhabalar sevgili dostlarım bir muhasebe programı üzerinde çalışma gerçekleştiriyordum fakat şöyle bir sorunla karşı karşıya kaldım.


Ürünün fiyatını girdiğimde yandaki textbox 'un value değeri 18 ile çarpıp 100'e bölüyor yani KDV hesaplıyor kısacası. her şey düzgün çalışıyor fakat virgüllü sayılar geldiğinde noktayı yanlış yere koyduğu için yanlış hesaplıyor. Mesela 7,63 'ün %18'ini hesaplarken çok alakasız bir sonuç veriyor fakat 7,6'yı gayet düzgün hesaplıyor.


ilgili textboxun kodu şu şekilde


Private Sub txtfiyati_change()


txtkdv.value = ((txttutar.value * 18)/100)


End Sub


Sayının virgülden sonra 2.sayılardan sonra sapıtmasının sebebi ne olabilir , 7,63 veya 7,633 gibi sayılarda sonuçlar çok yanıltıcı çıkıyor hesapladığı sonuçlardan bazı örnekler göstermek isterim 7,63 için bulduğu sonuç 137.34 Bulması gereken sonuç ise 1.3734 ​


Noktayı yanlış yere koyuyor bu sebepten dolayı sayı çok büyük çıkıyor bunu nasıl düzeltebilirim ?


Başlık: Ynt: VBA- Virgülden sonra hesap yapaken sapıtması
Gönderen: serkoloji - 05 Şubat 2021, 20:57:19
Mehmet bey,
Bu konuda çok bilgim yok ama aynı şey benim de başımda. VBA'daki ondalık ayracı "." (nokta) olduğu için siz de aynı sorunla karşılaşıyorsunuz. İki farklı seçeneğiniz var. Birincisi VBA'daki her kodunuzu noktaya göre oluşturacaksınız. İkinci ise excelin varsayılan ondalık ayracını ayarlayacaksınız. Tavsiyem birincisi.