Sırayla Kayıt Getirmek

Katılım
11 Aralık 2014
Mesajlar
27
Excel Vers. ve Dili
Microsoft Office 2021 64 bit Türkçe
Merhabalar
Arkadaşlar aşağıdaki örnek dosyada açılan userform üzerinde combobox ve textboxlar var comboboxtan bir isim seçilince texboxlarada ilgili veriler geliyor. Birde Sonraki ve Önceki adında iki tane buton bulunmakta.

Kayıtlarda aynı isim ve soyisimli birden fazla kayıt olduğunda comboboxtan bir isim seçildi ise ve aynı isim ve soyisimde başka kayıt varsa "Sonraki" butonuna basıldığında sonraki aynı isim ve soyisimli kaydı bulup combobox ve textboxlara getirilebilirmi.

Yardımlarınız için şimdiden teşekkür ederim

Dosya Linki
http://www.dosya.tc/server6/b0jy00/Sonraki_Kayitlari_Bulma.rar.html
 
Katılım
6 Mart 2008
Mesajlar
282
Excel Vers. ve Dili
2021 Türkçe
bu kod yardımcı olabilir.
Kod:
Sub Makro1()

    Range("c1").Value = Cells.Find(What:=Range("b1").Value, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
        :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
        False, SearchFormat:=False).Value

    
End Sub
Sub makro2()
    Cells.FindNext(After:=ActiveCell).Activate
End Sub
 
Katılım
11 Aralık 2014
Mesajlar
27
Excel Vers. ve Dili
Microsoft Office 2021 64 bit Türkçe
Hocam ilginiz için teşekkürler ama verdiğiniz kodlar formda bulunan nesnelerle aynı olmadığı için uyarlayamadım.
 
Katılım
31 Aralık 2014
Mesajlar
1,845
Excel Vers. ve Dili
Excel 2010
Merhaba
Örnek dosyanızdaki kodlarınıza ilave olarak; aşağıdaki gibi deneyin
http://www.dosya.tc/server6/aty86d/00004.zip.html
Kod:
Private Sub CommandButton1_Click()
If ComboBox1 = "" Then Exit Sub
For a = ComboBox1.ListIndex + 1 To ComboBox1.ListCount - 1
If ComboBox1.List(a, 0) = ComboBox1.Value Then
ComboBox1.ListIndex = a
Exit For
End If
Next
End Sub

Private Sub CommandButton2_Click()
If ComboBox1 = "" Then Exit Sub
For a = ComboBox1.ListIndex - 1 To 0 Step -1
If ComboBox1.List(a, 0) = ComboBox1.Value Then
ComboBox1.ListIndex = a
Exit For
End If
Next
End Sub
 
Katılım
6 Mart 2008
Mesajlar
282
Excel Vers. ve Dili
2021 Türkçe
CommandButton1 ' e bu kodu ekleyin.
Private Sub CommandButton1_Click()
Cells.Find(What:=ComboBox1.Value, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False, SearchFormat:=False).Activate
TextBox1.Value = ActiveCell.Value

TextBox2.Value = ActiveCell.Offset(0, 2).Value
End Sub
 
Katılım
6 Mart 2008
Mesajlar
282
Excel Vers. ve Dili
2021 Türkçe
bu da önceki komutu için.
commandbutton2

Kod:
Private Sub CommandButton2_Click()
    Cells.Find(What:=ComboBox1.Value, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
        :=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlPrevious, MatchCase:= _
        False, SearchFormat:=False).Activate
        TextBox1.Value = ActiveCell.Value
        
        TextBox2.Value = ActiveCell.Offset(0, 2).Value
End Sub
 
Katılım
11 Aralık 2014
Mesajlar
27
Excel Vers. ve Dili
Microsoft Office 2021 64 bit Türkçe
Plint ve sametozyavuz hocalarım çok çok teşekkür ederim ilgilendiğiniz için sizlere minnettarım değerli vaktiniz aldığım için hakkınızı helal edin.

Plint hocam sizin kodları çalışmamda bulunan nesnelere uyarlayamadım. Yinede çok teşekkürler sağolun.

sametozyavuz hocam sizin kodlar istediğim gibi çalışıyor ancak listede benzer üç kişi varsa ve üçünü sırasıyla bulduktan sonra tekrar başa dönüyor ve kaç kişi olduğu belli olmuyor.

Acaba birinciyi bulduktan sonra buton her tıklandığında var olan diğerleride bulsun ama son bulduğundan sonra buton tıklandığında listenin sonuna gelindi aynı isim ve soyadda başka kayıt bulunamadı diye uyarı verebilirmi her iki buton içinde;sonraki yukardan aşağı doğru önceki ise aşağıdan yukarı doğru ama aşağıdan yukarı doğru olan hangi hücre aktifse ordan başlayarak ilerleyebilrmi

Listem A2 den başlayarak 1048576 ya kadar devam ediyor.
 
Katılım
6 Mart 2008
Mesajlar
282
Excel Vers. ve Dili
2021 Türkçe
ben de kodları makro kaydet yöntemi ile yazdığım için. sona geldiğinde durduran bir kod bulamadım. PLİNT hocamın kodlar gayet iyi çalışıyor. onları bir daha deneyiniz.
 
Katılım
31 Aralık 2014
Mesajlar
1,845
Excel Vers. ve Dili
Excel 2010
ben de kodları makro kaydet yöntemi ile yazdığım için. sona geldiğinde durduran bir kod bulamadım. PLİNT hocamın kodlar gayet iyi çalışıyor. onları bir daha deneyiniz.
Listem A2 den başlayarak 1048576 ya kadar devam ediyor.
Merhaba
Sayın sametozyavuz yukarıda eklediğim kodları tavsiye etmiş ama;
bir milyon küsur satırda döngü ile çok uzun zaman alacaktır, bence yapılabilecek en iyi yöntem "combobox" yerine "textbox" ile arama yapıp "listbox" veya "listview" e bulunan aynı isimlerin listelenmesidir.
 
Üst