• DİKKAT

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

textbox1 userformdan çıkarken 2ci kez tetikleniyor.

  • Konbuyu başlatan Konbuyu başlatan cems
  • Başlangıç tarihi Başlangıç tarihi

cems

Altın Üye
Katılım
2 Eylül 2005
Mesajlar
2,581
Excel Vers. ve Dili
office 2010 tr 32bit
Hazırlamakta olduğum bir çalışmada , işlemler userformlar üzerinden sürmektedir.

Ekte küçük bir örneğini verdiğim dosyada amaç , textbox1 e girilen kaydın textbox tan çıkıldığı anda sayfa üzerindeki data ile anında kontrol edilip daha önce girilmiş ise 46 textbox doldurulduktan sonra ve topluca kayıt yapılacağı esnada DEĞİL hemen uyarı vermesi ve daha başta numaranın değiştirilmesini sağlamaktır.

Textbox1 exit olayına yerleştirdiğim kodlar , textbox1 içeriğindeki no ile sütundaki noları karşılaştırıp mükerrer varsa uyarıp textbox1 i de temizliyor.Ancak ;

1- Textbox1'e hiç numara girilmediğinde de uyarı veriyor
2- Textbox1' e eksik numara ( mesela 1 ) yazıp çıkıldığında da uyarı veriyor.
2- Userform kapatılıp diğer userform açıldığında , form ile sayfa arasına yine uyarı sokuyor.

Kodlarda textbox tan çıkıldığında ,

1- Textbox boş ise geçilemez uyarısının yerleşmesi ve kursorun aynı yere dönmesi için
2- Textbox eksik numara girişi için uyarı
3- Userform kapatıldığında ikinci kez textbox exit tetiklenmesinin aşılması

İçin nasıl bir düzeltme yapmalıyım ? Şu anki kodlar ;


Private Sub CommandButton1_Click()
If TextBox1.Text = "" Then
MsgBox " kayıt ya da başka forma geçerken birinci kutu dolu olmalıdır "
End If

Unload UserForm1
UserForm2.Show
End Sub

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim S1 As Worksheet, Satir As Long
Set S1 = Sheets("sayfa1")
Satir = S1.Cells(Rows.Count, 1).End(3).Row

Say = WorksheetFunction.CountIf(S1.Range("B:B"), TextBox1)
If Say > 0 Then
MsgBox "Bu KÜPE NUMARASI daha önce kayıt edilmiş , tekrar kayıt edilemez! Lütfen numarayı kontrol ediniz ve dikkatlice giriş yapınız ...", vbCritical
TextBox1.Text = ""
Exit Sub
End If

End Sub
 

Ekli dosyalar

Son düzenleme:
Deneyiniz.

Kod:
Dim Kontrol As Boolean

Private Sub CommandButton1_Click()
    If TextBox1.Text = "" Then
        MsgBox "Kayıt ya da başka forma geçerken birinci kutu dolu olmalıdır!", vbCritical
    End If
    Unload UserForm1
    UserForm2.Show
End Sub

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    Dim S1 As Worksheet, Satir As Long
    
    Set S1 = Sheets("Sayfa1")
    Satir = S1.Cells(Rows.Count, 2).End(3).Row

    If Kontrol = True Then Exit Sub
        
    If TextBox1 = Empty Then
        MsgBox "Lütfen KÜPE NUMARASI giriniz!", vbCritical
        Cancel = True
        Exit Sub
    End If
    
    If Len(TextBox1) <> 4 Then
        MsgBox "Eksik ya da hatalı KÜPE NUMARASI girdiğiniz tespit edildi. Lütfen kontrol ediniz!", vbCritical
        Cancel = True
        Exit Sub
    End If
        
    Say = WorksheetFunction.CountIf(S1.Range("C3:C" & S1.Rows.Count), TextBox1)
    
    If Say > 0 Then
        MsgBox "Bu KÜPE NUMARASI daha önce kayıt edilmiş , tekrar kayıt edilemez! Lütfen numarayı kontrol ediniz ve dikkatlice giriş yapınız ...", vbCritical
        TextBox1.Text = ""
        Cancel = True
        Exit Sub
    End If
End Sub

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
    Kontrol = True
End Sub
 
Sayın AYHAN ,

1- Textbox boş ise geçilemez uyarısı yerleşti ve kursor aynı yerde yandı.

2- Textbox eksik numara girişi için uyarı yeni bir no ile girildiğinde sorun yarattı Ancak sorunun c sütununda 4 haneye bakıldığından kaynaklandığını buldum , bakılan sütunu b ye çevirip hane sayısını 8 e çıkarınca sorundaki yanlışlık atlatıldı , çalışıyor...

3- Userform kapatıldığında ikinci kez textbox exit tetiklenmesi aşıldı

Bu arada ,barutu bilgi olan bu denli isabet eden nokta atışlı cevaplarınız hepimizde hayranlık uyandırıcı ...Naciz yakıştırmamı uygun görürseniz ; on seneden fazladır süren üyeliğimde sizi ve yönetimde yer alan adını şu an yazamadığım ancak usta dediğimiz arkadaşları ; excel kıyılarında birer Seyit Onbaşı olarak görüyorum . Hiç bir zaman boşa gitmiyor...

Elinize sağlık , teşekkür ederken ayrıca tarafınız ve nezdinizde yönetimdeki , ayrıca sitedeki diğer meçhul fedakar ve beklentisiz yardımcı olan insanlara da hayırlı bayramlar dileklerimi de kabul etmenizi rica ederim, ben bunu asıl dosyaya adapte ederek devam edip tatil sonrasına sayenizde yetiştireceğim :)
 
Son düzenleme:
Geri
Üst