Listbox içinde Combobox ile arama

Katılım
30 Ekim 2010
Mesajlar
108
Excel Vers. ve Dili
2007 Türkçe
Kod:
For ss = 0 To ListBox4.ListCount - 1
If ComboBox1.Value <> ListBox4.Column(0, ss) Then
MsgBox "Kayıt Bulunamıyor!", vbInformation, "HATALI İŞLEM"
Exit Sub
End If
Next
Combobox' daki kaydın listbox içinde olup olmadığını kontrol etmek istiyorum. Yukarıdaki Kod eşitlik durumunda sonuç vermesine rağmen EŞİTSİZLİK durumunda kayıt listede olsa bile doğru çalışmıyor. Yada Combobox'daki kayıt listede olmadığında nasıl bir kod yazmalıyım?
 
Son düzenleme:

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,843
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Bunu bir dene

Kod:
For ss = 0 To ListBox4.ListCount - 1

If ComboBox1.Value = ListBox4.Column(0, ss) Then
MsgBox "Kayıt Bulundu!", vbInformation, "İŞLEM VAR"
GoTo atla
End If

MsgBox "Kayıt Bulunamıyor!", vbInformation, "HATALI İŞLEM"
atla:

Next
 
Katılım
30 Ekim 2010
Mesajlar
108
Excel Vers. ve Dili
2007 Türkçe
Hata mesajı satır sayısına göre kendini tekrar ediyor. "exit for" diyorum bu seferde ilk satırda değer bulamazsa işlem yapmıyor.
 
Katılım
30 Ekim 2010
Mesajlar
108
Excel Vers. ve Dili
2007 Türkçe
Kod:
Application.ScreenUpdating = False

For ss = 0 To ListBox4.ListCount - 1
If ComboBox1.Value = ListBox4.Column(0, ss) Then

kk = AYARLAR.TextBox2.Value
Workbooks.Open kk
Worksheets("ISKONTO").Unprotect FORM_GIRIS.low.Caption
Dim FindString As String
Dim rng As Range
FindString = ComboBox1.Value
With Sheets("ISKONTO").Range("A2:A500")
Set rng = .Find(What:=FindString, After:=.Cells(.Cells.Count), LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlPrevious, MatchCase:=False)
End With

rng = ComboBox1.Value
rng.Offset(0, 1).Value = TextBox17.Value
rng.Offset(0, 2).Value = TextBox18.Value
rng.Offset(0, 3).Value = TextBox19.Value
rng.Offset(0, 4).Value = TextBox20.Value
rng.Offset(0, 5).Value = CDate(TextBox21.Value)
rng.Offset(0, 6).Value = TextBox22.Value
rng.Offset(0, 7).Value = Environ$("computername") & " | " & Format(Now(), "dd.mm.yyyy Hh.Nn.Ss")

Worksheets("ISKONTO").Protect FORM_GIRIS.low.Caption
ActiveWindow.Close True
Call iskonto_list
Application.ScreenUpdating = True
Label25 = "İŞLEM TAMAMLANDI!"

GoTo atla
End If
atla:
Next
kodun tamamını bu şekilde oluşturdum.
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,843
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Dosyanız olmadan bu şekilde görebildiğim kadarıyla kırmızı yeri değiştirdim.

Rich (BB code):
Sub deneme()
Application.ScreenUpdating = False

For ss = 0 To ListBox4.ListCount - 1
If ComboBox1.Value = ListBox4.Column(0, ss) Then

kk = AYARLAR.TextBox2.Value
Workbooks.Open kk
Worksheets("ISKONTO").Unprotect FORM_GIRIS.low.Caption
Dim FindString As String
Dim rng As Range
FindString = ComboBox1.Value
With Sheets("ISKONTO").Range("A2:A500")
Set rng = .Find(What:=FindString, After:=.Cells(.Cells.Count), LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlPrevious, MatchCase:=False)
rng = ComboBox1.Value
rng.Offset(0, 1).Value = TextBox17.Value
rng.Offset(0, 2).Value = TextBox18.Value
rng.Offset(0, 3).Value = TextBox19.Value
rng.Offset(0, 4).Value = TextBox20.Value
rng.Offset(0, 5).Value = CDate(TextBox21.Value)
rng.Offset(0, 6).Value = TextBox22.Value
rng.Offset(0, 7).Value = Environ$("computername") & " | " & Format(Now(), "dd.mm.yyyy Hh.Nn.Ss")


Worksheets("ISKONTO").Protect FORM_GIRIS.low.Caption
ActiveWindow.Close True
Call iskonto_list
Application.ScreenUpdating = True
Label25 = "İŞLEM TAMAMLANDI!"
GoTo atla

End With
End If
atla:
Next
End Sub
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,739
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Ekteki dosyayı deneyiniz. Kendinize uyarlarsınız.

Arama işleminde BÜYÜK-KÜÇÜK harf duyarlılığı yoktur.
 

Ekli dosyalar

Üst