Textboxlarda sayı toplama hatası

ASMET67

Altın Üye
Katılım
8 Haziran 2007
Mesajlar
410
Excel Vers. ve Dili
Excel 2016
Altın Üyelik Bitiş Tarihi
30-11-2027
textbox hesaplamasında sorunum var.
textbox20 = 183,73
textbox6 = 0 veya boş ""
textbox7 = 58,02
textbox8 = 0 veya boş ""
textbox9 = 0 veya boş ""
textbox10 = 0 veya boş ""
textbox11 = 0 veya boş ""


textbox13 verdiği değer =241
olması gereken = 241,75

bu şekilde tüm hesaplamalarım yanlışlık olmaktadır.
 

ASMET67

Altın Üye
Katılım
8 Haziran 2007
Mesajlar
410
Excel Vers. ve Dili
Excel 2016
Altın Üyelik Bitiş Tarihi
30-11-2027
Dosya eklemyi unutmuşum.
Örnek olarak bir form denedim.
3 farklı kodla.
1 kod yanlış hesaplıyor
diğer ikisi hata veriyor.
 

Ali

Özel Üye
Katılım
21 Temmuz 2005
Mesajlar
7,919
Excel Vers. ve Dili
İş:Excel 2016-Türkçe
Textbox formatınız ile ilgili olabilir.

TextBox13.Value = Format(CDbl(TextBox13.Value), "##,##")

TextBox13.Value = Format(CDbl(TextBox13.Value), "##,##0.00")

gibi deneyiniz
 
Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
Şu kodu deneyiniz.

Kod:
Dim txt As Control
Dim toplam As Double
TextBox13.Text = Empty
For Each txt In UserForm1.Controls
    If TypeName(txt) = "TextBox" Then
       If IsEmpty(Trim(txt)) = True Or IsNumeric(Trim(txt)) = False Then GoTo f1
          toplam = toplam + CDbl(txt.Text)
    End If
f1:
Next
TextBox13.Text = toplam
 

ASMET67

Altın Üye
Katılım
8 Haziran 2007
Mesajlar
410
Excel Vers. ve Dili
Excel 2016
Altın Üyelik Bitiş Tarihi
30-11-2027
Teşekkürler.
Sorunumu fakli bir yöntemle çözdüm.
1-Toplanacak texboxlarda boş textbox varsa toplamıyor.
2-Textboxsa alınan veride cdbl ile alınmazsa virgülü kaldırıyor ve 183,73 'ü 18373 olarak hesaplıyor.
Yardımlarınız için teşekkürler.

If TextBox4 = "" Then TextBox4.Value = Val(0)
If TextBox5 = "" Then TextBox5.Value = Val(0)
If TextBox20 = "" Then TextBox20.Value = Val(0)
If TextBox7 = "" Then TextBox7.Value = Val(0)
If TextBox9 = "" Then TextBox9.Value = Val(0)
If TextBox10 = "" Then TextBox10.Value = Val(0)
If TextBox11 = "" Then TextBox11.Value = Val(0)

TextBox12 = Format(CDbl(TextBox20) * CDbl(TextBox5) * CDbl(TextBox4), "#,##0.00")
TextBox13 = ""
TextBox13 = Format(CDbl(TextBox7) + CDbl(TextBox9) + CDbl(TextBox10) + CDbl(TextBox11) + CDbl(TextBox12), "#,##0.00")
 
Üst