• DİKKAT

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

YAZDIĞIM BUL MAKROSU YETERSİZ KALIYOR

Katılım
3 Mart 2006
Mesajlar
28
:? Selamlar;
Düzenlediğim form üzerinde CommandButton(cmdbul) düğmesine atadığım aşağıdaki kod ile ”E1:E59999” hücreler arasındaki kayıtlı kişilerin adı soyadını ComboBox kutusunda listeliyorum.(30 Bin kişi)Listeden seçtiğim kişiye ait bilgiler ise ilgili text kutularında yerini alıyor.Benim sıkıntım ”E1:E59999” hücreler arasında aynı isim ve soy isimden birden fazla değişik kişiler mevcut.Bul komutum aradığım ilk kişiyi buluyor ve ikinci hatta üçüncü … kişileri bulamıyorum. Acaba klasik Ctrl+ F tuşu işlevini gören bir kod yazmamız yani "sonrakini bul "işlevini gerçekleştirmemiz mümkün mü? Yardımcı olursanız çok memnum olurum.

Private Sub cmdbul_Click()
Sheets("Veri").Select
Dim bak As Range
For Each bak In Range("E1:E" & WorksheetFunction.CountA(Range("E1:E59999")))
If StrConv(bak.Value, vbUpperCase) = StrConv(cbadısoyadı.Value, vbUpperCase) Then
bak.Select
txtsıra.Value = ActiveCell.Offset(0, -4).Value
txtseri.Value = ActiveCell.Offset(0, -3).Value
txtno.Value = ActiveCell.Offset(0, -2).Value
txttckimlikno.Value = ActiveCell.Offset(0, -1).Value
cbadısoyadı.Value = ActiveCell.Offset(0, 0).Value
txtbabaadı.Value = ActiveCell.Offset(0, 1).Value
txtdoğumyeri.Value = ActiveCell.Offset(0, 3).Value
…….
…….
…….
Exit Sub
End If
Next bak
MsgBox "Önce Adı Soyadı Kutusundan bir isim belirleyiniz,sonra BUL butonunu tıklayınız", , "Aradığınız isimde bir kayıt bulunamadı"
End Sub
 
ikinci bir tuş ekleyip başlangıc noktasını x=aktivecell.adress diye bir döngü yaratıp yukarıdaki kodlardaki E1 yerine bu döngüyü kullanırsanız zannediyorum ki olucaktır.

Saygılar
 
:hey: Bahsettiğiniz dosyayı eklemeniz mümkünmü Tabi son haliyle İsimler olmayabilir programın çalışan haliyle
 
Merhaba

Verinizi combobox'ın listindex'ine göre yönlendirin
Combobox1 yerine kendi combobox'ınızın adını yazın

Private Sub cmdbul_Click()
Sheets("Veri").Select
Dim bak As Range

sec = combobox1.ListIndex + 2 'hücrelerin başlanğıç satır nosu
Cells(sec, 5).Select
txtsıra.Value = ActiveCell.Offset(0, -4).Value
txtseri.Value = ActiveCell.Offset(0, -3).Value
txtno.Value = ActiveCell.Offset(0, -2).Value
txttckimlikno.Value = ActiveCell.Offset(0, -1).Value
cbadısoyadı.Value = ActiveCell.Offset(0, 0).Value
txtbabaadı.Value = ActiveCell.Offset(0, 1).Value
txtdoğumyeri.Value = ActiveCell.Offset(0, 3).Value
…….
…….
…….
Exit Sub
End If
Next bak
MsgBox "Önce Adı Soyadı Kutusundan bir isim belirleyiniz,sonra BUL butonunu tıklayınız", , "Aradığınız isimde bir kayıt bulunamadı"
End Sub
 
Ekli örneği inceleyin...
 
Selam arkadaşlar

Değişik bir alternatif. Combobox ta seçilen kayıt Listbox ta listeleniyor ve
Listbox ta üzerine tıkladığınız kayıt textbox lara geliyor.Umarım işinize
yarar.
Saygılarımla
 
Geri
Üst