• DİKKAT

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

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

Katılım
8 Aralık 2011
Mesajlar
964
Excel Vers. ve Dili
Excel 2016,32bit
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.
 
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
 
Musa bey,
Tamamdır teşekkür ederim ilginiz için. İstediğim şekilde oldu şimdi. Saygılarımla. İyi çalışmalar diliyorum.
 
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:
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:-(
 
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
 
Tamamdır Erkan bey, teşekkür ederim. Emeğinize sağlık. Saygılarımla.
 
Geri
Üst