Textboxa girilen veriyi sayfada ara yoksa uyarı mesajı ver

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,452
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selam arkadaşlar,

Zimmetleme ile ilgili çalışmamda "ZİMMET" sayfasının "A" sütunu ile "G" sütunu arasında kayıtlı verilerim var. "PERSONEL" sayfasında "B2" den başlayarak giden personel kod numaraları var.

Textbox2 ye girdiğim personel kodunu "PERSONEL" sayfasının "B" sütununda aratmak ve eğer veri bulunamazsada uyarı mesajı verdirmek istiyorum. Bu arada veri bulunduğunda ise Textbox3 e "PERSONEL" sayfasındaki 3. sütundaki verinin , Textbox4 e ise 4. sütundaki verinin gelmesini istiyorum. Bununla ilgili aşağıdaki kodu kullanıyorum. Fakat personel sayfasında hiç kayıtlı personel olmayınca uyarı mesajı vermesini sağlayamadım. Aşağıdaki kodda nasıl bir değişiklik yapmam gerekiyor.

Ã?rnek kodlar;

Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
On Error Resume Next
If TextBox2 = "" Then
Cancel = False
TextBox2.BackColor = vbWhite
Exit Sub
End If
Dim ARA As Range
Sheets("PERSONEL").Select
For Each ARA In Range("B2:B" & WorksheetFunction.CountA(Range("B2:B65536")))
If StrConv(ARA.Value, vbUpperCase) = StrConv(TextBox2.Value, vbUpperCase) Then

SATIR = Sheets("PERSONEL").[B2:B65536].Find(TextBox2.Value).Row
TextBox3 = Sheets("PERSONEL").Cells(SATIR, 3).Value
TextBox4 = Sheets("PERSONEL").Cells(SATIR, 4).Value
TextBox2.BackColor = vbWhite
Exit Sub
End If

Next ARA

Cancel = True
MsgBox ("Girdiğiniz personel kodu kayıtlarda bulunamamıştır."), vbExclamation, "DİKKAT !"
TextBox2 = ""
TextBox2.SetFocus
End Sub

İyi çalışmalar dilerim. :hey:
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,056
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Kodunuzun başındaki on error resume next satırı yerine on error goto 10 satırını yazın. Ã?rneğin

on error goto 10
.
.
.
.
exit sub
10 msgbox "veri bulunamadı"
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,452
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar leventm,

Vermiş olduğunuz örneği denedim oldu fakat başka bir sıkıntı oluştu. Aşağıdaki satırda hata verdi.

Private Sub CommandButton1_Click()
ANA_MENÜ.Hide
ZİMMET_FORMU.Show
End Sub

İyi çalışmalar dilerim.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,056
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Bahsettiğiniz hata ile ilgili açıkçası bir bağlantı kuramadım. Benim önerdiğim şekli yukarıda verdiğiniz TextBox2_Exit olayına yazmalısınız.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,452
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar leventm,

Konuyla ilgili örnek dosyamı ekte gönderiyorum.
İlgilenirseniz çok sevinirim. (Sadece rar la sıkıştırdığımda gönderebiliyorum.)

İyi çalışmalar dilerim. :hey:
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,056
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Kod içinde exit sub ilavesini yaparak aşağıdaki gibi deneyin.

[vb:1:1fb0960030]Private Sub TextBox6_Exit(ByVal Cancel As MSForms.ReturnBoolean)
On Error GoTo 10
If TextBox6 = "" Then
Cancel = False
TextBox6.BackColor = vbWhite
Exit Sub
End If
Dim ARA As Range
Sheets("ZİMMET").Select
For Each ARA In Range("E2:E" & WorksheetFunction.CountA(Range("E2:E65536")))
If StrConv(ARA.Value, vbUpperCase) = StrConv(TextBox6.Value, vbUpperCase) Then
SATIR = Sheets("ZİMMET").[E2:E65536].Find(TextBox6.Value).Row
TextBox2 = Sheets("ZİMMET").Cells(SATIR, 3).Value
TextBox3 = Sheets("ZİMMET").Cells(SATIR, 4).Value
TextBox4 = Sheets("ZİMMET").Cells(SATIR, 6).Value
TextBox5 = Sheets("ZİMMET").Cells(SATIR, 7).Value
TextBox6.BackColor = vbWhite
Exit Sub
End If
Next ARA
Cancel = True
Exit Sub
10 MsgBox ("Girdiğiniz kayıt numarası bulunamamıştır."), vbExclamation, "DİKKAT !"
TextBox6 = ""
TextBox6.SetFocus
End Sub[/vb:1:1fb0960030]
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,452
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar leventm,

Belirttiğiniz eklemeyi yaptığım halde aşağıdaki satırda hata oluşuyor !!! Anlam veremedim. Neden olabilir ?

Ayrıca açılıştada AUTO_OPEN makrosuda hata veriyor....

Private Sub CommandButton1_Click()
ANA_MENÜ.Hide
ZİMMET_FORMU.Show (Bu satırda hata veriyor.)
End Sub

İyi çalışmalar dilerim. :hey:
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,056
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Ben gönderdiğiniz dosyayı denediğimde böyle bir hata vermedi. Yukarıdaki ilavede böyle bir hataya sebep olamaz, userform initialize olayına yazdığınız kodlarda hata var anlamına geliyor, bunları inceleyin.
 
Üst