Soru Textbox Toplamları Hakkında.

yesimgurol

Altın Üye
Katılım
8 Aralık 2011
Mesajlar
841
Excel Vers. ve Dili
Excel 2016,32bit
Merhaba,
Userform içerisinde bulunan Textbox4 ve Textbox5 'in toplamı 100'ü geçtiğinde uyarı mesajı aldırmak istiyorum. Bu kodları hali hazırdaki kodların içerisine eklemek mümkün mü?
Orjinal dosyamda veriler olduğundan ekleyemedim:-(
 

yanginci34

Altın Üye
Katılım
6 Temmuz 2010
Mesajlar
1,404
Excel Vers. ve Dili
excel2013
Denermisiniz
Kod:
Private Sub TextBox5_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If TextBox4.Value + TextBox5.Value > 100 Then
MsgBox "Toplam sayı 100' ü geçti !"
End If
End Sub
 

yesimgurol

Altın Üye
Katılım
8 Aralık 2011
Mesajlar
841
Excel Vers. ve Dili
Excel 2016,32bit
Kod:
Sub Bosgecme()
If TextBox1.Value = "" Then
MsgBox ("TOPLAM GELİRLER KISMINDA EKSİK VERİ GİRİŞİ, Eğer girilecek değer YOK ise SIFIR olarak yazınız")
Exit Sub
End If
If TextBox2.Value = "" Then
MsgBox ("MESAİ DIŞI %30 KISMINI Boş Geçemessiniz")
Exit Sub
End If
If TextBox3.Value = "" Then
MsgBox ("MESAİ DIŞI %15 KISMINI  Boş Geçemessiniz")
Exit Sub
End If
If TextBox4.Value = "" Then
MsgBox ("KURUM PAYI DAĞITIM YÜZDELERİNİ Boş Geçemessiniz")
Exit Sub
End If
If TextBox5.Value = "" Then
MsgBox ("KURUM PAYI DAĞITIM YÜZDELERİNİ  Boş Geçemessiniz")
Exit Sub
End If
If TextBox6.Value = "" Then
MsgBox ("YÖNETİCİ PAYI DAĞITIM YÜZDELERİNİ Boş Geçemessiniz")
Exit Sub
End If
If TextBox7.Value = "" Then
MsgBox ("YÖNETİCİ PAYI DAĞITIM YÜZDELERİNİ Boş Geçemessiniz")
Exit Sub
End If
If TextBox8.Value = "" Then
MsgBox ("DÖNER SERMAYE DAĞITIM YÜZDELERİNİ Boş Geçemessiniz")
Exit Sub
End If
If TextBox9.Value = "" Then
MsgBox ("DÖNER SERMAYE DAĞITIM YÜZDELERİNİ Boş Geçemessiniz")
Exit Sub
End If

End Sub
Merhabalar,
Hali hazırdaki kodlarım bunlar sağolsun sayın yanginci34'ün yazmış olduğu kodu bu kodların içerisine yazmaya çalıştım. Şu şekilde yazdım.

Kod:
If TextBox4.Value + TextBox5.Value > 100 Then
MsgBox "Toplam sayı 100' ü geçti !"
Exit Sub
End If
Lakin evet toplamları 100 den büyük olduğunda mesaj çıkıyor. Mesaja tamam diyorum ve toplamları 100'den küçük yaptığım halde yine uyarı mesajı alıyorum:-( Nerede yanlış yapıyorum acaba.
 

Mdemir63

Altın Üye
Katılım
7 Temmuz 2006
Mesajlar
2,221
Excel Vers. ve Dili
Excel-2010 Türkçe
Selamlar

Aşağıdaki şekilde deneyebilir misiniz?

Kod:
Private Sub TextBox4_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    Select Case KeyAscii
    Case Asc("0") To Asc("9")
    Case Asc(",")
    Case Else
    KeyAscii = 0: MsgBox "Sadece rakam girebilirsiniz.", vbExclamation, "Dikkat !"
    End Select
End Sub


Private Sub TextBox5_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    Select Case KeyAscii
    Case Asc("0") To Asc("9")
    Case Asc(",")
    Case Else
    KeyAscii = 0: MsgBox "Sadece rakam girebilirsiniz.", vbExclamation, "Dikkat !"
    End Select
End Sub

Private Sub TextBox5_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    If TextBox4.Value = "" And TextBox5.Value = "" Then Exit Sub
    If TextBox4.Value = "" Then TextBox4.Value = CDbl(0)
    If TextBox5.Value = "" Then TextBox5.Value = CDbl(0)
    If CDbl(TextBox4.Value) + CDbl(TextBox5.Value) > 100 Then
        MsgBox "Toplam sayı 100' ü geçti !", vbInformation, "D İ K K A T ..!"
    End If
End Sub
 

yesimgurol

Altın Üye
Katılım
8 Aralık 2011
Mesajlar
841
Excel Vers. ve Dili
Excel 2016,32bit
Selamlar

Aşağıdaki şekilde deneyebilir misiniz?

Kod:
Private Sub TextBox4_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    Select Case KeyAscii
    Case Asc("0") To Asc("9")
    Case Asc(",")
    Case Else
    KeyAscii = 0: MsgBox "Sadece rakam girebilirsiniz.", vbExclamation, "Dikkat !"
    End Select
End Sub


Private Sub TextBox5_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    Select Case KeyAscii
    Case Asc("0") To Asc("9")
    Case Asc(",")
    Case Else
    KeyAscii = 0: MsgBox "Sadece rakam girebilirsiniz.", vbExclamation, "Dikkat !"
    End Select
End Sub

Private Sub TextBox5_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    If TextBox4.Value = "" And TextBox5.Value = "" Then Exit Sub
    If TextBox4.Value = "" Then TextBox4.Value = CDbl(0)
    If TextBox5.Value = "" Then TextBox5.Value = CDbl(0)
    If CDbl(TextBox4.Value) + CDbl(TextBox5.Value) > 100 Then
        MsgBox "Toplam sayı 100' ü geçti !", vbInformation, "D İ K K A T ..!"
    End If
End Sub
Sayın mdemir63,
Öncelikle ilginiz ve emeğiniz için çok teşekkür ederim. Evet şimdi istediğim şekilde gerçekleşiyor. Yazmış olduğunuz kod bloğunu diğer Textbox'larım için (Textbox adlarını değiştirerek) uygulayabilir miyim acaba ? Maalesef benim hatam oldu ilk mesajımda belirtmedim. Şöyleki aynı durumda olacak olan 4 adet daha textbox'larım çıktı. (Textbox6 ,7 ve Textbox8,9)
 

Mdemir63

Altın Üye
Katılım
7 Temmuz 2006
Mesajlar
2,221
Excel Vers. ve Dili
Excel-2010 Türkçe
Selamlar
Textbox ların isimlerini değiştirebilirsiniz.
 

htsumer

Altın Üye
Altın Üye
Katılım
7 Eylül 2004
Mesajlar
887
Excel Vers. ve Dili
Excel-2003
En mantıklı sorgu, Text içine rakam yazıldıktan sonra çıkışta sorgulaması.
"Private Sub TextBox5_Exit(ByVal Cancel As MSForms.ReturnBoolean)" bu şekilde olmalı.
@yanginci34 kodları gibi..
 
Üst