Toplama İşleminde Virgülden Sonrası "00" Çıkıyor.

ahmed_ummu

Altın Üye
Katılım
28 Mart 2011
Mesajlar
694
Excel Vers. ve Dili
Excel 2010 Professional Plus 64 Bit
Altın Üyelik Bitiş Tarihi
15-10-2026
Merhaba arkadaşlar.

Aşağıdaki kod ile yapılan toplama işleminde virgülden sonra kuruş kısmını "00" olarak çıkartıyor. Rica etsem yardımcı olabilir misiniz.

Dim i As Double
For i = 23 To 36
say = say + Val(Me.Controls("TextBox" & i).Value)
Next i
TextBox37.Value = Format(say, "#,##0.00")
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
5,873
Excel Vers. ve Dili
2019 Türkçe
val yerine cdbl fonksiyonunu kullanabilirsiniz. Yada Val kullanmak isterseniz texboxlarda bulunan ondalık ayracını virgül yerine nokta kullanmalısınız. Çünkü val ondalık ayracı olarak virgülü tanımaz noktayı tanır.
 

ahmed_ummu

Altın Üye
Katılım
28 Mart 2011
Mesajlar
694
Excel Vers. ve Dili
Excel 2010 Professional Plus 64 Bit
Altın Üyelik Bitiş Tarihi
15-10-2026
val yerine cdbl fonksiyonunu kullanabilirsiniz. Yada Val kullanmak isterseniz texboxlarda bulunan ondalık ayracını virgül yerine nokta kullanmalısınız. Çünkü val ondalık ayracı olarak virgülü tanımaz noktayı tanır.
Cdbl ile Type mismatch hatası verdi.

Dim i As Double
For i = 23 To 36
say = say + CDbl(Me.Controls("TextBox" & i).Value)
Next i
TextBox37.Value =say
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
5,873
Excel Vers. ve Dili
2019 Türkçe
Muhtemelen texboxlardan biri boş olduğu için hata veriyor.

Kod:
say = say + CDbl(Me.Controls("TextBox" & i).Value)
satırını aşağıdaki ile değiştirin
Kod:
if Me.Controls("TextBox" & i).Value <> "" then say = say + CDbl(Me.Controls("TextBox" & i).Value)
Yine olmazsa dosyanızı ekleyin kontrol edelim
 

ahmed_ummu

Altın Üye
Katılım
28 Mart 2011
Mesajlar
694
Excel Vers. ve Dili
Excel 2010 Professional Plus 64 Bit
Altın Üyelik Bitiş Tarihi
15-10-2026
Muhtemelen texboxlardan biri boş olduğu için hata veriyor.

Kod:
say = say + CDbl(Me.Controls("TextBox" & i).Value)
satırını aşağıdaki ile değiştirin
Kod:
if Me.Controls("TextBox" & i).Value <> "" then say = say + CDbl(Me.Controls("TextBox" & i).Value)
Yine olmazsa dosyanızı ekleyin kontrol edelim
Teşekkürler Muzaffer Ali bey. Bilgisayara format attığım için cevabı geç yazdım. Daha önce foruma otomatik giriyordu. Şifreyi zor buldum.
 
Üst