• DİKKAT

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

Birden Fazla Olan Verileri Listbox da Listeleme

  • Konbuyu başlatan Konbuyu başlatan ahmedummu
  • Başlangıç tarihi Başlangıç tarihi
A

ahmedummu

Misafir
Merhaba arkadaşlar.

Tablo sayfasındaki birden fazla olan verileri listbox1'e alıyor fakat. aşağıdaki kodlar ile isimleri filtreleme yaptığımda birden fazla olan tüm verileri listeliyor. Filtreleme yaparken de birden fazla olan verilerin sadece bir tanesini getirebilir mi. Öğrek resimlerde ilk adlı örnekte form açıldığında listbox 2 verilerin bir tanesi geliyor. Son adlı resimde ise filtreleme yaptıktan sonraki şekli. Filtreleme yapmadığı gibi sayfadaki tüm isimleri listeliyor. Yapmak istediğim ise filtreleme yapınca da sadece verinin birer tanesini getirmesi.

Sheets("tablo").Select
ListBox6.Clear
For Suz = 7 To Range("b65000").End(xlUp).Row
alan = UCase(Replace(Replace(Range("b" & Suz), "a", "A"), "e", "E"))
Veri = UCase(Replace(Replace(TextBox40, "a", "A"), "e", "E"))
If alan Like tablo & "*" Then
ListBox6.AddItem
ListBox6.List(i, 0) = Range("b" & Suz)
i = i + 1
End If
Next Suz

Yardımcı olursanız çok sevinirim.
 

Ekli dosyalar

  • ilk.jpg
    ilk.jpg
    29.9 KB · Görüntüleme: 12
  • SON.jpg
    SON.jpg
    31.5 KB · Görüntüleme: 13
Öncelikle ekrran görüntüsü yerine örnek excel dosyası paylaşmanızı öneririm.

VEri listelemek için de sql-ado kodlarını kullanmak daha hızlı ve pratik olur diye düşünüyorum ama örnek dosya olmadığından uygulayamıyorum maalesef.
 
Öncelikle ekrran görüntüsü yerine örnek excel dosyası paylaşmanızı öneririm.

VEri listelemek için de sql-ado kodlarını kullanmak daha hızlı ve pratik olur diye düşünüyorum ama örnek dosya olmadığından uygulayamıyorum maalesef.

Yusuf bey İlk konu açtığımda, açtığım ilk konuyu göremedim. Heralde internet bağlantısından dolayı konu açılmadı diye düşünerek aynı konuyu tekrar açtım.

Dosyam büyük olduğu için ekran görüntüsü paylaştım.
 
Bu konudaki kullanıcı adınızla diğer konudaki kullanıcı adınız birbirinden farklı gördüğüm kadarıyla, belki de ondan göremediniz.

Dosyanızın gerçek veriler içermeyen ama aynı yapıdaki küçük bir örneğini paylaşabilirsiniz.
 
Bu konudaki kullanıcı adınızla diğer konudaki kullanıcı adınız birbirinden farklı gördüğüm kadarıyla, belki de ondan göremediniz.

Dosyanızın gerçek veriler içermeyen ama aynı yapıdaki küçük bir örneğini paylaşabilirsiniz.

Merhaba Yusuf bey
Örnek dosya ekledim.

Form açıldığında benzersiz verileri listeliyor. Ama filtreleme yaptığımda benzer verilerin hepsini listeliyor. Ben bir tanesinin gelmesini istiyorum. Yardımcı olursanız sevinirim.
 

Ekli dosyalar

Eski kodları silip aşağıdaki kodları dener misiniz?

PHP:
Private Sub TextBox1_Change()
Set s1 = Sheets("Sayfa1")
son = s1.Cells(Rows.Count, "A").End(3).Row

Set con = VBA.CreateObject("adodb.Connection")
con.Open "provider=microsoft.ace.oledb.12.0;data source=" & _
ThisWorkbook.FullName & ";extended properties=""Excel 12.0;hdr=no"""
sorgu = "select distinct * from [Sayfa1$] where F1 like '%" & TextBox1.Text & "%'"

Set rs = con.Execute(sorgu)
ListBox1.Column = rs.getrows
End Sub

Private Sub UserForm_Initialize()
Set s1 = Sheets("Sayfa1")
son = s1.Cells(Rows.Count, "A").End(3).Row

Set con = VBA.CreateObject("adodb.Connection")
con.Open "provider=microsoft.ace.oledb.12.0;data source=" & _
ThisWorkbook.FullName & ";extended properties=""Excel 12.0;hdr=no"""

sorgu = "select distinct * from [Sayfa1$] "
Set rs = con.Execute(sorgu)

ListBox1.Column = rs.getrows
End Sub
 
Eski kodları silip aşağıdaki kodları dener misiniz?

PHP:
Private Sub TextBox1_Change()
Set s1 = Sheets("Sayfa1")
son = s1.Cells(Rows.Count, "A").End(3).Row

Set con = VBA.CreateObject("adodb.Connection")
con.Open "provider=microsoft.ace.oledb.12.0;data source=" & _
ThisWorkbook.FullName & ";extended properties=""Excel 12.0;hdr=no"""
sorgu = "select distinct * from [Sayfa1$] where F1 like '%" & TextBox1.Text & "%'"

Set rs = con.Execute(sorgu)
ListBox1.Column = rs.getrows
End Sub

Private Sub UserForm_Initialize()
Set s1 = Sheets("Sayfa1")
son = s1.Cells(Rows.Count, "A").End(3).Row

Set con = VBA.CreateObject("adodb.Connection")
con.Open "provider=microsoft.ace.oledb.12.0;data source=" & _
ThisWorkbook.FullName & ";extended properties=""Excel 12.0;hdr=no"""

sorgu = "select distinct * from [Sayfa1$] "
Set rs = con.Execute(sorgu)

ListBox1.Column = rs.getrows
End Sub

Teşekkürler Yusuf bey.

Denedim ama filtreleme yapmıyor. Bir de form açıldığında lsitbox'a verile yüklendiğinde alfabetik sıraya göre listeleniyor. O pek sorun değil ama filtreleme yapmadı.
 
Kodları eksik kopyalamış olabilir misiniz? Ben denediğimde filtreliyor çünkü.

Bu arada bulunmayan bir veri arandığında hata veriyor, düzeltmek için textbox kodunu aşağıdakiyle değiştirip deneyin:

Kod:
Private Sub TextBox1_Change()
Set s1 = Sheets("Sayfa1")
son = s1.Cells(Rows.Count, "A").End(3).Row

Set con = VBA.CreateObject("adodb.Connection")
con.Open "provider=microsoft.ace.oledb.12.0;data source=" & _
ThisWorkbook.FullName & ";extended properties=""Excel 12.0;hdr=no"""
sorgu = "select distinct * from [Sayfa1$] where F1 like '%" & TextBox1.Text & "%'"

Set rs = con.Execute(sorgu)
If Not rs.EOF And Not rs.BOF Then
    ListBox1.Column = rs.getrows
End If
End Sub

Sıralamayla ilgili sorunu çözemedim maalesef.
 
Kodları eksik kopyalamış olabilir misiniz? Ben denediğimde filtreliyor çünkü.

Bu arada bulunmayan bir veri arandığında hata veriyor, düzeltmek için textbox kodunu aşağıdakiyle değiştirip deneyin:

Kod:
Private Sub TextBox1_Change()
Set s1 = Sheets("Sayfa1")
son = s1.Cells(Rows.Count, "A").End(3).Row

Set con = VBA.CreateObject("adodb.Connection")
con.Open "provider=microsoft.ace.oledb.12.0;data source=" & _
ThisWorkbook.FullName & ";extended properties=""Excel 12.0;hdr=no"""
sorgu = "select distinct * from [Sayfa1$] where F1 like '%" & TextBox1.Text & "%'"

Set rs = con.Execute(sorgu)
If Not rs.EOF And Not rs.BOF Then
    ListBox1.Column = rs.getrows
End If
End Sub

Sıralamayla ilgili sorunu çözemedim maalesef.

Yusuf bey hakkınız helal edin. Zamanınızı alıyorum. Örnek dosyamı ekte gönderdim. Bakabilir misiniz.
 

Ekli dosyalar

Paylaştığınız dosyanızda filtreleme çalışıyor.

235060
 
1 harfle de çalışıyor. Yazdığınız harf örneğin A ise çok fazla sonuç çıktığından siz filtreleme olmuyor diye düşünmüşsünüzdür.

235061
 
Geri
Üst