Soru SAYIYA CEVIRME

Katılım
28 Kasım 2008
Mesajlar
191
Excel Vers. ve Dili
excel 2003
excel 2010
Merhaba,

Yapmış olduğum userformda girilen değerleri sayıya dönüştürüp matematiksel işlem yapmak istiyorum. Girilen sayılar ondalıklı olduğu için CDBL komutunu kullandım ama değer girilmediği zaman hata veriyor. Bugüne kadar böyle bir şeyle karşılaşmadım. Yardımlarınız rica olunur.

TextBox4.Value = Format(CDbl(TextBox1) + CDbl(TextBox2) + CDbl(TextBox3), "#,##0.00")

3 kutuda da değer olursa sorun yok. Ama textboxlardan bir tanesi boş olduğunda hata veriyor. Boş olduğunda 0 değerini getirmesi gerekmez mi?
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,165
Excel Vers. ve Dili
2019 Türkçe
Merhaba.
üç kutuyu da kontrol etmeniz gerekiyor.
Aşağıdaki gibi boş ve rakam kontrolü yapılabilir.

Kod:
Private Sub CommandButton1_Click()
    If Not Rakammi(TextBox1) Then Exit Sub
    If Not Rakammi(TextBox2) Then Exit Sub
    If Not Rakammi(TextBox3) Then Exit Sub
    TextBox4.Value = FormatNumber(CDbl(TextBox1) + CDbl(TextBox2) + CDbl(TextBox3), 2)
End Sub

Function Rakammi(txtDeger As Control) As Boolean
    If IsNumeric(txtDeger.Text) Then
        Rakammi = True
    Else
        MsgBox "Değerlerin tamamı rakam olmalıdır."
        Rakammi = False
        With txtDeger
            .SetFocus
            .SelStart = 0
            .SelLength = Len(.Text)
        End With
    End If
End Function
 
Katılım
28 Kasım 2008
Mesajlar
191
Excel Vers. ve Dili
excel 2003
excel 2010
Merhaba.
üç kutuyu da kontrol etmeniz gerekiyor.
Aşağıdaki gibi boş ve rakam kontrolü yapılabilir.

Kod:
Private Sub CommandButton1_Click()
    If Not Rakammi(TextBox1) Then Exit Sub
    If Not Rakammi(TextBox2) Then Exit Sub
    If Not Rakammi(TextBox3) Then Exit Sub
    TextBox4.Value = FormatNumber(CDbl(TextBox1) + CDbl(TextBox2) + CDbl(TextBox3), 2)
End Sub

Function Rakammi(txtDeger As Control) As Boolean
    If IsNumeric(txtDeger.Text) Then
        Rakammi = True
    Else
        MsgBox "Değerlerin tamamı rakam olmalıdır."
        Rakammi = False
        With txtDeger
            .SetFocus
            .SelStart = 0
            .SelLength = Len(.Text)
        End With
    End If
End Function
Çok Teşekkür ederim.
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,165
Excel Vers. ve Dili
2019 Türkçe
Rica ederim. Kolay gelsin.
 
Üst