Textboxta girilen değeri "ARA" , yanlış değeri

Korhan Ayhan

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

Textbox2 de aşağıdaki kodlarım var. Bu kodlar textboxa girdiğim değeri arayıp buluyor ve o değere ait bilgileri diğer textboxlara getiriyor. Fakat bazı durumlarda yanlışl sonuç alıyorum.

Ã?rnek olarak;

Benim sayfamdaki değerler aşağıdaki sırayla ve karşılarındada bilgiler var.

25
35
5
55
45
75
85
95
....

Textboxa 5 değerini girdiğimde bana 25 değerine ait bilgileri diğer textboxa getiriyor. Ben textboxa hangi değeri giriyorsam sadece ona ait bilgileri nasıl getirebilirim. Aşağıdaki kodda nasıl bir değişiklik yapmam gerekiyor.

Kullanmış olduğum kod;

Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
On Error GoTo 10
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("B1: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
10 MsgBox ("Girdiğiniz personel kodu kayıtlarda bulunamamıştır."), vbExclamation, "DİKKAT !"
Cancel = True
TextBox2 = ""
TextBox3 = ""
TextBox4 = ""
TextBox5 = ""
TextBox6 = ""
TextBox2.SetFocus
TextBox2.BackColor = vbYellow
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
[vb:1:8f542ad74a]SATIR = Sheets("PERSONEL").[B2:B65536].Find(TextBox2.Value).Row [/vb:1:8f542ad74a]

Yukarıdaki kodu aşağıdaki gibi değiştirerek deneyin.

[vb:1:8f542ad74a]SATIR = Sheets("PERSONEL").[B2:B65536].Find(What:=textbox2.value, LookAt:=xlWhole).Row[/vb:1:8f542ad74a]
 
Katılım
24 Mayıs 2005
Mesajlar
462
Excel Vers. ve Dili
Excel 2003 Türkçe
Bir denermisiniz. Kolay gelsin.

Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)
On Error GoTo 10
If TextBox2 = "" Then
Cancel = False
TextBox2.BackColor = vbWhite
Exit Sub
End If

Dim ARA As Range
Sheets("PERSONEL").Select
For Each ARA In Range("B1:B" & WorksheetFunction.CountA(Range("B1:B65536")))
If StrConv(ARA.Value, vbUpperCase) = StrConv(TextBox2.Value, vbUpperCase) Then
ARA.Select
TextBox2.Value = ARA.Offset(0, 0).Value
TextBox3.Value = ARA.Offset(0, 1).Value
TextBox4.Value = ARA.Offset(0, 2).Value
TextBox2.BackColor = vbWhite
Exit Sub
End If
Next ARA
10 MsgBox ("Girdiğiniz personel kodu kayıtlarda bulunamamıştır."), vbExclamation, "DİKKAT !"
Cancel = True
TextBox2 = ""
TextBox3 = ""
TextBox4 = ""
TextBox5 = ""
TextBox6 = ""
TextBox2.SetFocus
TextBox2.BackColor = vbYellow
End Sub
 
Katılım
24 Mayıs 2005
Mesajlar
462
Excel Vers. ve Dili
Excel 2003 Türkçe
Ben yardımcı olmaya hazırlanırken sayın leventm`den cevap gelmiş. Kolay gelsin.
Bu ne hız sayın leventm ellerinize sağlık. Saygılarımla
 
Üst