Çözüldü Textbox Uyarı Mesajı Hakkında..

yesimgurol

Altın Üye
Katılım
8 Aralık 2011
Mesajlar
950
Excel Vers. ve Dili
Excel 2016,32bit
Altın Üyelik Bitiş Tarihi
18-11-2024
Merhaba,
Sayfa içerisinde bulunan Textbox1' e girilen değer Textbox9'dan büyük olduğunda aşağıda yer alan kod ile uyarı mesajı alıyorum.

Kod:
Private Sub TextBox1_Change()

If TextBox1 = vbNullString Then Exit Sub
If Not IsNumeric(TextBox1) Then
MsgBox "Lütfen rakam giriniz"
TextBox1 = vbNullString
End If
If TextBox1.Value > TextBox9.Value Then
        MsgBox "SATIŞ YAPILAN ÜRÜN MİKTARI, DÜKKANDA OLAN STOKTAN FAZLA, LÜTFEN KONTROL EDİNİZ!", vbExclamation, ""
   End If

End Sub

Burada şöyle bir sorun yaşıyorum,
Mesela,
- Textbox9 değeri 10 olsun ,
- Textbox1' e (2,3,4,5,6,7,8,9) girdiğimde de uyarı veriyor. Oysaki girilen değerler Textbox 9 değerinden küçük.

İstiyorum ki, Textbox1' e girilen değer Textbox 9 değerinin +1 fazlası olduğunda uyarı çalışsın.
 

MusaPEKEL

Altın Üye
Katılım
29 Ağustos 2016
Mesajlar
65
Excel Vers. ve Dili
2013
Altın Üyelik Bitiş Tarihi
16-01-2027
Kod:
Private Sub TextBox1_Change()
    If TextBox1 = vbNullString Then Exit Sub
    If Not IsNumeric(TextBox1) Then
        MsgBox "Lütfen rakam giriniz"
        TextBox1 = vbNullString
    End If

    ' TextBox9'dan 1 fazla girildiğinde uyarı ver
    If Val(TextBox1.Value) > Val(TextBox9.Value) + 1 Then
        MsgBox "SATIŞ YAPILAN ÜRÜN MİKTARI, DÜKKANDA OLAN STOKTAN FAZLA, LÜTFEN KONTROL EDİNİZ!", vbExclamation, ""
    End If
End Sub
 

yesimgurol

Altın Üye
Katılım
8 Aralık 2011
Mesajlar
950
Excel Vers. ve Dili
Excel 2016,32bit
Altın Üyelik Bitiş Tarihi
18-11-2024
Musa bey,
Tamamdır teşekkür ederim ilginiz için. İstediğim şekilde oldu şimdi. Saygılarımla. İyi çalışmalar diliyorum.
 

Erkan Akayay

Altın Üye
Katılım
8 Aralık 2006
Mesajlar
405
Excel Vers. ve Dili
Ofis 365 TR 64 Bit
Altın Üyelik Bitiş Tarihi
21-11-2028
Textboxta Val kullanımı size sıkıntı çıkarabilir.
Val küsuratları atar. 2,5 olur size 2

Change eventlerinden mümkün olduğunca kaçın.
Filtreleme gibi bazı yerlerde olumsuzlukları göz ardı edilse de gereksiz kullanımı önerilmez.
Bu gibi bir kontrol yapılacaksa change eventine gerek yok. Her tuşa bastığınızda kodlar tekrar tekrar çalışıyor. Performans açısındna tercih edilen bir yöntem değil.
Aşağıdakilerden birine yazın. Tetxtbox çıkışında kontrolünü yapsın.

TextBox1_AfterUpdate
TextBox1_BeforeUpdate
TextBox1_Enter
 
Son düzenleme:

yesimgurol

Altın Üye
Katılım
8 Aralık 2011
Mesajlar
950
Excel Vers. ve Dili
Excel 2016,32bit
Altın Üyelik Bitiş Tarihi
18-11-2024
Textboxta Val kullanımı size sıkıntı çıkarabilir.
Val küsuratları atar. 2,5 olur size 2

Change eventlerinden mümkün olduğunca kaçın.
Filtreleme gibi bazı yerlerde olumsuzlukları göz ardı edilse de gereksiz kullanımı önerilmez.
Bu gibi bir kontrol yapılacaksa change eventine gerek yok. Her tuşa bastığınızda kodlar tekrar tekrar çalışıyor. Performans açısındna tercih edilen bir yöntem değil.
Aşağıdakilerden birine yazın. Tetxtbox çıkışında kontrolünü yapsın.

TextBox1_AfterUpdate
TextBox1_BeforeUpdate
TextBox1_Enter
Erkan bey merhaba,
Öncelikle ilginiz ve katkınız için teşekkür ederim. Yalnız bahsetmiş olduğunuz kısımları (AfterUpdate, BeforeUpdate) nasıl düzenleyeceğim konusunda yetersizim:-(
 

Erkan Akayay

Altın Üye
Katılım
8 Aralık 2006
Mesajlar
405
Excel Vers. ve Dili
Ofis 365 TR 64 Bit
Altın Üyelik Bitiş Tarihi
21-11-2028
O kodları silip bunu ekleyin.
Textbox1den herhangi bir şekilde çıktığınızda gerekli kontrolü yapar.

Kod:
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If TextBox1 = vbNullString Then Exit Sub
If TextBox1 = vbNullString Then Exit Sub
If Not IsNumeric(TextBox1) Then
    MsgBox "Lütfen rakam giriniz"
    TextBox1 = vbNullString
End If
If TextBox1.Value > TextBox9.Value Then
    MsgBox "SATIŞ YAPILAN ÜRÜN MİKTARI, DÜKKANDA OLAN STOKTAN FAZLA, LÜTFEN KONTROL EDİNİZ!", vbExclamation, ""
    TextBox1.Value = vbNullString
    TextBox1.SetFocus
    Cancel = True
End If
End Sub
 

yesimgurol

Altın Üye
Katılım
8 Aralık 2011
Mesajlar
950
Excel Vers. ve Dili
Excel 2016,32bit
Altın Üyelik Bitiş Tarihi
18-11-2024
Tamamdır Erkan bey, teşekkür ederim. Emeğinize sağlık. Saygılarımla.
 
Üst