• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

userformda textbox toplama hatası

kemal turan

Altın Üye
Katılım
10 Haziran 2011
Mesajlar
1,677
Excel Vers. ve Dili
Excel 2010 32 bit
Merhaba,
Aşağıdaki kod SATIS adlı bir userformdadır
textbox34 ile textbo 53 arası adet,
textbox54 ile textbo 73 arası fiyattır
textbox74 ile textbo 93 arası adet * fiyattır.(bu kısımda sonuç doğru çıkıyor.)
textbox214 ise yukarıdaki textboxlarda herhangi bir değişilik olduğunda toplamın alındığı textbox dur.(bu kısımda sonuç hatalı çıkıyor.)
aşağıdaki kodlarda sadece textbox 214 deki toplamda yanlış sonuç veriyor.
çarpım küçük rakam olduğunda doğru büyüdükçe sapıtıyor.
Kodu kısaltıp textbox214 e doğru toplam verecek kod yardımı rica ediyorum.
Teşekkürler.


Kod:
Private Sub Textbox54_Exit(ByVal Cancel As MSForms.ReturnBoolean) ' TOPTAN FİYAT
On Error Resume Next
SATIS.TextBox74.Value = SATIS.TextBox34.Value * Format(CDbl(SATIS.TextBox54.Value), "#,##0.00")
SATIS.TextBox74.Value = Format(CDbl(SATIS.TextBox74.Value), "#,##0.00")
SATIS.TextBox214 = Format((Val(SATIS.TextBox74) + Val(SATIS.TextBox75) + Val(SATIS.TextBox76) + Val(SATIS.TextBox77) + Val(SATIS.TextBox78) + Val(SATIS.TextBox79) + Val(SATIS.TextBox80) + Val(SATIS.TextBox81) + Val(SATIS.TextBox82) + Val(SATIS.TextBox83) + Val(SATIS.TextBox84) + Val(SATIS.TextBox85) + Val(SATIS.TextBox86) + Val(SATIS.TextBox87) + Val(SATIS.TextBox88) + Val(SATIS.TextBox89) + Val(SATIS.TextBox90) + Val(SATIS.TextBox91) + Val(SATIS.TextBox92) + Val(SATIS.TextBox93)), "#,##0.00")
End Sub

Kod:
Private Sub Textbox34_Exit(ByVal Cancel As MSForms.ReturnBoolean) 'PERAKENDE FİYAT
On Error Resume Next
SATIS.TextBox74.Value = SATIS.TextBox34.Value * Format(CDbl(SATIS.TextBox54.Value), "#,##0.00")
SATIS.TextBox74.Value = Format(CDbl(SATIS.TextBox74.Value), "#,##0.00")
SATIS.TextBox214 = Format((CDbl(TextBox74) + CDbl(TextBox75) + CDbl(TextBox76) + CDbl(TextBox77) + CDbl(TextBox78) + CDbl(TextBox79)), "#,#0.00 TL")

End Sub
 
Son düzenleme:
Ekteki örneği kendinize göre düzenleyiniz.
 

Ekli dosyalar

Bu tür uygulamalarda (WorksheetFunction.Round) fonksiyonunu kullan

Kod:
Private Sub Textbox34_Exit(ByVal Cancel As MSForms.ReturnBoolean) 'PERAKENDE FİYAT
On Error Resume Next
SATIS.TextBox74.Value = Format(WorksheetFunction.Round(SATIS.TextBox34.Value) * WorksheetFunction.Round(SATIS.TextBox54.Value, 2), "#,##0.00")
SATIS.TextBox74.Value = Format(WorksheetFunction.Round(SATIS.TextBox74.Value, 2), "#,##0.00")
SATIS.TextBox214 = Format(WorksheetFunction.Round(TextBox74, 2) + WorksheetFunction.Round(TextBox75, 2) + WorksheetFunction.Round(TextBox76, 2) + WorksheetFunction.Round(TextBox77, 2) + WorksheetFunction.Round(TextBox78, 2) + WorksheetFunction.Round(TextBox79, 2), "#,#0.00 TL")
End Sub
 
Sn.Vardar örnek çalışmanız için çok teşekkür ederim.Tam istediğim gibi.
Sn.Halit bey (WorksheetFunction.Round) fonksiyon bilginiz için çok teşekkür ederim.
Sayenizde hergün birşeyler öğreniyoruz.
Hakkınızı helal edip, selametle kalınız.
 
Geri
Üst