Personel & Zimmet Takip Programı (KZT-v.5) foruma eklenmiştir. 
http://www.excelce.net/forum/index.php?topic=1676.0

Gönderen Konu: VBA- Virgülden sonra hesap yapaken sapıtması  (Okunma sayısı 3494 defa)

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı grandmaster55

  • Excelce Onbaşı
  • **
  • İleti: 1
  • Puan +0/-0
  • Cinsiyet: Bay
  • Excel'den Daha Fazlası!..
  • Ad Soyad: Mehmet kurtow
  • Doğum Yılınız: 1998
  • İl / İlçe: samsun
  • İşletim Sisteminiz: windows 7 64 bit
  • Mesleğiniz: öğrenci
  • Office Versiyonunuz: office 2016 TR
VBA- Virgülden sonra hesap yapaken sapıtması
« : 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 ?



Çevrimdışı serkoloji

  • Excelce Onbaşı
  • **
  • İleti: 4
  • Puan +0/-0
  • Cinsiyet: Bay
  • Excel'den Daha Fazlası!..
  • Ad Soyad: H.Serkan TEZER
  • Doğum Yılınız: 1977
  • İl / İlçe: Ankara Yenimahalle
  • Office Versiyonunuz: 2019 ve 2016
Ynt: VBA- Virgülden sonra hesap yapaken sapıtması
« Yanıtla #1 : 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.