• DİKKAT

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

excelde keyword üzerinden arama yapma

Katılım
24 Temmuz 2011
Mesajlar
6
Excel Vers. ve Dili
Excel 2010 Türkçe
Merhabalar;

Excel'de bir yayın listesi kaydettim ve yayın adı, anahtar sözcük, özet, yayının pdf linki gibi sütunlar içeren yaklaşık 170 satırlık bir veritabanı. Ben kullanıcının bir diyalog kutusuna herhangi bir kelime yazması halinde excelin linki ve tüm sütunları tarayarak, eğer bu kelime sayfada kayıtlıysa onunla ilgili kaynakların bir listesini yapmasını istiyorum. Bunun biraz da göze hitap eden bir şey olması gerekiyor, içinden çıkamadım. Yardımcı olursanız çok sevinirim.
İyi akşamlar...
 
Üzerinde çalıştığınız bir dosya varsa lütfen ekler misiniz ?
 
bu bir kısmı, linkler yer almıyor içinde ama linkli hali lazımsa biraz beklemenizi rica edeceğim.
 

Ekli dosyalar

Dosya formatınızı .xls olarak kaydedip yüklerseniz, office 2003 kullanan arkadaşlar da yardımcı olabilirler...
 
Dosyanızı kodları aşağıdadır... Dosyayı da ayrıca ekledim.

Module kodları;
Kod:
Sub Osma()
UserForm1.Show
End Sub

UserForm kodları;
Kod:
Public con As Object, rs As Object
Kod:
Private Sub Textbox1_Change()
On Error GoTo Hata
Dim Baslik As String
If TextBox1.Text = "" Then
rs.Filter = ""
Else
rs.Filter = "[F7] like '%" & TextBox1.Text & "%'"
End If
If rs.fields.Count > 1 Then
End If
ListBox1.Column = rs.getrows
If Hata Then
Hata:
MsgBox "Aradığınız kayıt Bulunamamıştır"
End If
End Sub

Kod:
Sub Baglan()
Set con = CreateObject("adodb.connection")
Set rs = CreateObject("adodb.recordset")
con.Open "provider=microsoft.jet.oledb.4.0;" & _
        "data source=" & ThisWorkbook.FullName & ";" & _
        "extended properties=""excel 8.0;hdr=no"""
rs.Open "select * from [Sayfa1$]", con, 1, 1
ListBox1.ColumnCount = rs.fields.Count
ListBox1.Column = rs.getrows
End Sub

Kod:
Private Sub UserForm_Initialize()
Call Baglan
ListBox1.ColumnWidths = "40;30;110;110;60;30;130;35;35;50;40;75;100"
End Sub

İyi akşamlar...
 

Ekli dosyalar

Emeğinize,zihninize sağlık, çok güzel olmuş. Çok teşekkür ederim gerçekten.
İyi akşamlar...
 
Rica ederim Pınar Hanım...

Özel mesaj ile bir soru yöneltmişsiniz, cevabını vereyim;
Evet, diğer sütunlarda da filtreleme yapabilirsiniz.
Öncelikle filtrelemek istediğiniz sütun sayısı kadar formunuza TextBox ilave edin.
Sonra da her bir TextBox'ın aşağıdaki gibi kendi change olaylarında sadece sütun sayısını belirten [F7] yi değiştirmeniz yeterli olacaktır...

Kod:
Private Sub Textbox1_Change()
On Error GoTo Hata
Dim Baslik As String
If TextBox1.Text = "" Then
rs.Filter = ""
Else
rs.Filter = "[F7] like '%" & TextBox1.Text & "%'"
End If
If rs.fields.Count > 1 Then
End If
ListBox1.Column = rs.getrows
If Hata Then
Hata:
MsgBox "Aradığınız kayıt Bulunamamıştır"
End If
End Sub

İyi akşamlar.
 
Geri
Üst