• DİKKAT

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

Soru LİSTBOXTA ARAMA YAPMA VE COMBOBOXLA FİLTRELEME

Katılım
4 Mayıs 2020
Mesajlar
49
Excel Vers. ve Dili
Excel 2016 Türkçe
İyi günler arkadaşlar ekteki çalışma kitabımda ListBox1 deki veri içerinde arama ve ComboBox kullanarak Sütün4 deki değerlere göre aynı değerleri filtrelemem gerekiyor Kodlama yapacak ve nasıl kodlanacağı hakkında yardımcı olacak arkadaşımız varmı şimdiden teşekkürler.
 

Ekli dosyalar

Profilinizdeki excel versiyon bilgisini lütfen güncelleyiniz.
 
Merhabalar,
Sütun4 ODA olarak aldım. Sayfa2 A sütununa Oda1 ve Oda1 yazarak Combobox1 e aldırdım. Ayrıca Textbox11 e göre (İsme göre) de süzme yapıldı.
Deneyiniz. Ayrıca Korhan beyin uyarılarını da dikkate alarak excel versiyon bilgisi ve bit durumunu güncellenmeli.
iyi çalışmalar...
 

Ekli dosyalar

Merhabalar,
Sütun4 ODA olarak aldım. Sayfa2 A sütununa Oda1 ve Oda1 yazarak Combobox1 e aldırdım. Ayrıca Textbox11 e göre (İsme göre) de süzme yapıldı.
Deneyiniz. Ayrıca Korhan beyin uyarılarını da dikkate alarak excel versiyon bilgisi ve bit durumunu güncellenmeli.
iyi çalışmalar...
Textbox11 E GÖRE ARMA OLMUŞ ELLERİNİZE SAĞLIK AMA Combobox1 OLMAMIŞ SAYFA İKİYİ KULLANACAĞIM İÇİN DAHA PRATİK BİR YOLU VARMI BAŞKA SAYFAYI KULLANMADAN KODLAMA GİBİ ?
 
Merhabalar,
Private Sub UserForm_Initialize kodlarını aşağıdaki kodlarla değiştirin ve sayfa2 deki Oda1ve Oda2 yi siliniz.. D sütunundaki veriyi combobox1 e tekrarsız olarak alacaktır...


Private Sub UserForm_Initialize()
Dim i As Long, son As Long, a(), dc As Object
ComboBox1.Clear
son = Sayfa1.Range("d" & Rows.Count).End(xlUp).Row
Set dc = CreateObject("scripting.dictionary")
If son > 1 Then
a = Sayfa1.Range("d2:d" & son).Value
For i = 1 To UBound(a)
If Not IsEmpty(a(i, 1)) Then dc(a(i, 1)) = ""
Next i
End If
If dc.Count > 0 Then
UserForm1.ComboBox1.List = dc.Keys
End If
With Me.ListBox1
.ColumnCount = 11
.ColumnHeads = True
.ColumnWidths = "30;85;70;65;80;80;65;65;65;70"
.RowSource = "Sayfa1!A2:K" & Sheets("Sayfa1").Cells(Rows.Count, 1).End(3).Row
End With
End Sub
 
Merhabalar,
Private Sub UserForm_Initialize kodlarını aşağıdaki kodlarla değiştirin ve sayfa2 deki Oda1ve Oda2 yi siliniz.. D sütunundaki veriyi combobox1 e tekrarsız olarak alacaktır...


Private Sub UserForm_Initialize()
Dim i As Long, son As Long, a(), dc As Object
ComboBox1.Clear
son = Sayfa1.Range("d" & Rows.Count).End(xlUp).Row
Set dc = CreateObject("scripting.dictionary")
If son > 1 Then
a = Sayfa1.Range("d2:d" & son).Value
For i = 1 To UBound(a)
If Not IsEmpty(a(i, 1)) Then dc(a(i, 1)) = ""
Next i
End If
If dc.Count > 0 Then
UserForm1.ComboBox1.List = dc.Keys
End If
With Me.ListBox1
.ColumnCount = 11
.ColumnHeads = True
.ColumnWidths = "30;85;70;65;80;80;65;65;65;70"
.RowSource = "Sayfa1!A2:K" & Sheets("Sayfa1").Cells(Rows.Count, 1).End(3).Row
End With
End Sub
olmadı mümkünse siz düzenleye bilirmisiniz ?
 

Ekli dosyalar

Haklısınız kusura bakmayın kodlama süper olmuş çok sağolun
 
Önemli değil. Önemli olan işinizi görülmesi.
İyi çalışmalar...
 
Merhaba listboxta arama yaparken hata verdiğinin farkına vardım şöyleki Örnk: isim olarak ahmet diye aratınca 3 tane çıkıyor bunlardan herhangi birini tıklayınca hata veriyor bilgileri texboxa aktarmıyor koda yönlendiyor normalde filtreleme ve texboxa aktarmada bir sıkıntı yok nasıl düzelte bilirim yardım edebilirmisiniz ?
 

Ekli dosyalar

Merhabalar,
Problem olabilecek yerler:
1- RESİMLER klasöründe resim adı ile Excel sayfa1 deki adın aynı olmaması (Hatanın ana kaynağı bundan oluşur.)
2- RESİMLER klasörünün yolu ( son gönderdiğiniz dosyadaki RESİMLER klasörünün yolu, excel dosyanız nerede ise orada örneğin masa üstünde ise RESİMLER klasörüde masa üstünde olacak.) Daha önce RESİMLER klasörünün D bölümünde olacağını belirtmiştiniz. ( D partitions ) yolunun nasıl olacağını yazmıştım.
3- Excelde yazılmış olan isme ait resim yoksa, RESİMLER klasöründe RESİM diye resim yok ifadesini anlatan bir resim olmalı. Bu RESİM ismini isterseniz
RESİM YOK olarak değiştirin. Ama koddaki If resim = 0 Then Me.Image1.Picture = LoadPicture(resimYol & "RESİM.jpg") RESİM.jpg yi RESİM YOK.jpg yapacaksınız.
Userformda ve excel deki isimlere göre :
Ahmet1 de resim gelecek,
ahmet1 ve ahmet isimlerinde RESİM YOK resmi gelecek,
a2 isminde ise a2 resmi gelecek.
Size hem masaüstü hemde D Bölümünün excellerini gönderiyorum. D bölümüne ve masa üstüne RESİMLER klasörünü ekleyin, masa üstüne de gönderdiğim iki excel dosyasını ekleyip ayrı ayrı çalıştırın.

İyi çalışmalar...
 

Ekli dosyalar

Geri
Üst