Textbox'u kontrol edip gerekirse tekrar focus yapma ?

Katılım
5 Şubat 2005
Mesajlar
114
Altın Üyelik Bitiş Tarihi
03-03-2022
S.A arkadaşlar,
Herzamanki gibi problemle karşılaştık gene, yardımlarınızı bekliyorum. Forumda aradım ama sonuca varamadım..
beyler textbox1 deki değeri sayfadaki değerlerin biriyle kontrol edeceğim, eğer değer tutmuyorsa hata verip tekrar aynı textbox1 e setfocus yapmak istiyorum. herşey güzel ama setfocus olmuyor. textbox2 ye tıkladıktan sonra mesaj veriyor fakat setfocus almıyor. hata event larda ama tam olarak ne yapılması gerektiğini bilemiyorum. Dosya ilişiktedir.. :?
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Kodlarınızı Private Sub TextBox2_Enter() olayına yazarak deneyin.

[vb:1:f2e62ecfaa]Private Sub TextBox2_Enter()
Dim grupdenetleme As Range
Dim i As Integer
Sheets("GRUP KODLARI").Select
i = 1
For Each grupdenetleme In Range("B3:K100")
If grupdenetleme.Text = TextBox1.Text Then
i = i + 1
Exit For
End If
Next
If i = 1 Then
MsgBox "Girilen grup kodu veri kaydında bulunmamaktadır. Lütfen kontrol edin!", vbCritical + vbOKOnly, "Grup Kodu Hatası"
End If
TextBox1.SetFocus
End Sub[/vb:1:f2e62ecfaa]
 
Katılım
5 Şubat 2005
Mesajlar
114
Altın Üyelik Bitiş Tarihi
03-03-2022
Dostum bu şekilde oluyor ama sadece 2 tane textbox yok asıl formda. ondan fazla textbox var başka bir yerede tıklayabilir. asil sorun şu, başka bir yere tıklamadan direk yazı yazarken kontrol etmesi (change event) fakat nasıl yapacağımı bilmiyorum, öyleki ilk sayıyı girdiğinde hata aktif hale geliyor. bendeki kodlar genelde 3 basamak ..
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Aşağıdaki kodu deneyin. 3 basamak içindir.

[vb:1:eca9270a64]Private Sub TextBox1_Change()
Dim grupdenetleme As Range
Dim i As Integer
If Len(TextBox1.Value) = 3 Then
Sheets("GRUP KODLARI").Select
i = 1
For Each grupdenetleme In Range("B3:K100")
If grupdenetleme.Text = TextBox1.Text Then
i = i + 1
Exit For
End If
Next
If i = 1 Then
MsgBox "Girilen grup kodu veri kaydında bulunmamaktadır. Lütfen kontrol edin!", vbCritical + vbOKOnly, "Grup Kodu Hatası"
End If
End If
End Sub[/vb:1:eca9270a64]
 
Katılım
5 Şubat 2005
Mesajlar
114
Altın Üyelik Bitiş Tarihi
03-03-2022
Dostum süperdi, ahh işte pratik, biraz dikkat herşeyi hallediyor, çok teşekkür ettim.. :eek:k::
 
Üst