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
 
Katılım
23 Mart 2006
Mesajlar
303
Excel Vers. ve Dili
Microsoft Office 2003
Excel 2003
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
 
Katılım
24 Ocak 2005
Mesajlar
252
:hey: Bahsettiğiniz dosyayı eklemeniz mümkünmü Tabi son haliyle İsimler olmayabilir programın çalışan haliyle
 

zafer

Super Moderator
Yönetici
Katılım
8 Mart 2005
Mesajlar
3,288
Excel Vers. ve Dili
OFFICE 2003 TÜRKÇE
OFFICE 2010 TÜRKÇE
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
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Ekli örneği inceleyin...
 
Katılım
25 Şubat 2006
Mesajlar
53
Excel Vers. ve Dili
Excel 2003
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
 
Üst