Kriterlere göre arama

Katılım
2 Mart 2005
Mesajlar
556
Excel Vers. ve Dili
Office 2013 Türkçe
Merhaba,
Belirlenen 6 kritere göre,100 den fazla veri içinde arama nasıl yaptırabilirim?Kriterlerden birine bile uyan veri bulunamazsa "Veri Bulunamadı" mesajı alayım.Kriterlere uyan veriler de msgbox ile bildirilsin.
Kriterler ad,soyad,baba adı,ana adı,sicil no gibi personel bilgileri.
Her bir veri bir satırda bulunuyor ; yani ad A1,soyad B1 , baba adı C1 gibi.
Yardımlarınız için teşekkürler.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Kriterleri nereye yazacaksınız? sayfa üzerindeki bir hücre aralığınamı yoksa userform üzerindeki textboxlaramı?
 
Katılım
2 Mart 2005
Mesajlar
556
Excel Vers. ve Dili
Office 2013 Türkçe
Kriterler Userform üstünde checkbox'lar ile kontrol edilecek.Seçili checkbox'ın yanındaki kriterlere göre arama yapılacak.Mesela 1-3-5 'inci kriterlerin hepsinin bulunduğu satırlar ( yani personel ) msgbox ile verilecek.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Bu şekilde cevap vermek zor,bir örnek dosya eklerseniz onun üzerinden gidelim.
 
Katılım
2 Mart 2005
Mesajlar
556
Excel Vers. ve Dili
Office 2013 Türkçe
Merhaba,
Dosyayı ekte gönderiyorum.İlginize teşekkürler.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Ekteki örneği inceleyiniz. Ã?rnekte birden fazla comboboxtan veri seçilincede buluyor fakat veri sayısı arttıkça msgboxa sığmayacağından sorun olabilir,bu nedenle aramayı her seferinde tek bir comboboxa göre yapmanızı öneririm.
 
Katılım
2 Mart 2005
Mesajlar
556
Excel Vers. ve Dili
Office 2013 Türkçe
Merhaba leventm,
Dosyanızı inceledim.Kriter sayısı 1 olduğunda , o kritere uyan bütün kişiler sıralanıyor ; ama kriter sayısı ikiye çıktığında,her iki kriter de ayrı ayrı değerlendiriliyor ve ona göre kişiler sıralanıyor.Benim istediğim,kriter sayısı iki ya da daha çok olduğunda,kriterlerin hepsinin birden bulunduğu kişilerin sıralanması.

Mesela baba adı Mahmut,ana adı Hülya,kan grubu A rh(+) olan kişiler sıralansın. Baba adı Mahmut olanlar + ana adı Hülya olanlar + kan grubu A rh (+) olanlar ayrı ayrı sıralanmasın.

Mesela Hüseyin DOÐMAZ'ın baba adı Mahmut,ana adı Hülya ama kan grubu B Rh(+) ise bu kişinin ismi verilmesin bana.Kritere uyan bulunamadığında Aranan Kriterlere Uyan Personal Bulunamadı densin.

Çok mu şey istedim acaba?
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Kriter sayısı arttıkça bunu her seferinde değerlendirmek için çok sayıda döngü kurmak gerekir. Bu durumda yazılacak bir makronun tek bir sonuca ulaşması çok uzun süre alacağı gibi bilgisayarıda çok zorlayacaktır. Bu sebeple sizin sorunuzun en güzel çözümünün access ile yapılabileceğini düşünüyorum. Bu durumda konuyu access uzmanı başta Sn Jale hanım olmak üzere değerli üyelerimizin yorumlarına bırakmak istiyorum.
 
Katılım
2 Mart 2005
Mesajlar
556
Excel Vers. ve Dili
Office 2013 Türkçe
Bu konu üzerinde biraz düşündüm.Bana o an seçili olan combobox'lardaki verileri,yanyana msgbox olarak nasıl verebileceğimi söylerseniz biraz çalışacağım bu konu üzerinde.
Mesela Combobox1'de BALABAN; 2'de Ramazan; 3'te Mehmet ve 53'te Sudenaz var.Msgbox'ta BALABANRamazanMehmetSudenaz diye versin.
Þu şekilde düşündüm;
Verileri ardarda aldıktan sonra,Combobox numaraları sütun numaraları ile aynı olduğu için, 1. satırdaki 1,2,3 ve 53. sütunlardaki verileri de alıp karşılaştıracağım.Uyarsa O.K. ,uyanlar sıralanacak.Uymazsa Veri Bulunamadı denecek.Bu şekilde olamaz mı?

Access ile yapılabilir ama benim access bilgim hiç yok.O yüzden access'te yapılacak çalışmalar pek işime yaramaz;çünkü kullanamam.
Teşekkürler.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Birde excelin süz özelliğinden istifade edilebilir,süz işlemini makronun içinde kullanmak mümkün bu durumda sonucu ana listenin üzerinde göstermek daha kolay olacaktır,bu tür bir uygulama amacınızı gerçekleştirirmi?
 
Katılım
29 Eylül 2004
Mesajlar
1,810
Excel Vers. ve Dili
Excel 2002 TR
Çok incelemedim dosyayı ama bende şöyle bir yol önerebilirmiyim. Kodunu yazmak biraz uzun zahmetli olabilir ama..
Ã?nce tüm combobox değerlerini bir diziye alın.
Bu combobox'lara ait verü sütunlarını bir başka diziye alın.
sonra içiçe iki döngü içinde veritabanından combobox1'in kriterine uyanları 2. bir diziye aktarın, sonra combobox2'ye geçtiğinizde 2. diziyi combobox2'yi sağladıkça yine 1. veri arrayine aktarın, bu şekilde gitsin. excel hücrelerine başvuru sadece diziyi okurken olacağı, süzme işlemi dizde olacağı için daha hızlı olur.
Anlatınca çok komik oldu ama işe yarar sanırım.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Süz işleminden istifade ederek hazırladığım örneği inceleyin. Userformunuza birde listbox ekledim, kriterlere uygun olan veriler bu listboxta listeleniyor eğer veri bulunamazsa mesaj kutusu ile uyarı yapılıyor.
 
Katılım
2 Mart 2005
Mesajlar
556
Excel Vers. ve Dili
Office 2013 Türkçe
Sayın leventm,
Cevabınız isteğimi çok büyük bir ölçüde karşılıyor.Alt tarafa textbox koymak çok mantıklı.Ama combobox'lar 10 ile sınırlı.Bu sayıyı 53'e çıkartmak da oldukça uzun sürer.
Sayın danersin'in önerisini de tam olarak anlayamadım. :agla:

Bana o an seçili olan combobox'lardaki verileri,yanyana msgbox olarak nasıl verebileceğimi anlatabilir misiniz?Seçili combobox 1 de olabilir 53 de.

Þimdi bana belki "Ne gerek var kardeş,bizim verdiğimiz yolu dene " diyeceksiniz ama o zaman tamamen hazıra konmuş sayarım kendimi.Ben yukarıda bahsettiğim yol ile bu işi halletmek ve konuyu özümsemek istiyorum.Umarım sıkmıyorumdur.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Sn bedersu

Bu kadar çok seçeneği zaten listboxa sığdıramayız,ayrıca kriter sayısının çok fazla olması veri tabanının araştırılmasını ciddi zorlaştırır.
Üstelikte binlerce satırın taranmasını düşünün bu bence pek mümkün değil,exceli çok fazla zorlamış oluruz. Neticede excel bir veri tabanı programı değil,veri tabanı mantığıyla işlem yapmaya çalışmanın mümkün olmadığını düşünüyorum.
 
Katılım
2 Mart 2005
Mesajlar
556
Excel Vers. ve Dili
Office 2013 Türkçe
Anlıyorum Sayın leventm.Dediğiniz gibi Excel bir veri tabanı değil.Ben bu işi veri tabanına bırakayım.Teşekkürler.
 
Üst