• DİKKAT

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

Userform İçerisinde Multi Select Seçimi Problemi

Katılım
16 Ekim 2010
Mesajlar
17
Excel Vers. ve Dili
2007 türkçe
Userform içerisinde açılır bir combobox var. Görevi başka bir sayfadaki bölümleri listelemek.

Kod:
Dim i, j As Integer
Private Sub ComboBox1_Change()
ListBox1.Clear
Application.ScreenUpdating = True
For i = 2 To 5735
If ThisWorkbook.Sheets("Geçişler").Cells(i, 2) = ComboBox1.Text Then
ListBox1.AddItem ThisWorkbook.Sheets("Geçişler").Cells(i, 3)
End If
Next i
End Sub


Bu listeden herhangi bir bölüm seçildiğinde listbox içerisinde geçiş yapabileceği bölümlerin listesi geliyor.

Kod:
Private Sub ListBox1_Click()
ThisWorkbook.Sheets("Tercihler").Activate
Selection.AutoFilter Field:=6, Criteria1:=ListBox1.Text
ThisWorkbook.Sheets("Bölümler").Activate
End Sub

Ancak ben listbox içerisinde behavior dan MultiSelect i aktif hale getirdiğimde filtrelemeyi yapmıyor. Single da sorun yok. Multi veya Extended seçildiğinde birden fazla seçenek seçiyorum ama o zaman da filtreleme çalışmıyor.

Çözüm önerisi olan var mı?
 
Örnek dosya yüklerseniz daha çabuk yanıt alabilirsiniz.:cool:
 
Filtre bölümünde seçilen kriterleri ARRAY olarak tanımlamanız gerekiyor.
 
Filtre bölümünde seçilen kriterleri ARRAY olarak tanımlamanız gerekiyor.

Array tanımlamayı beceremedim. Ancak aşağıdaki kod ile sorun çözüldü. Benzer sorunu olanlar için paylaşıyorum.

Kod:
Private Sub ListBox1_Change()
Dim Bolumler() As String
ReDim Bolumler(ListBox1.ListCount)
For i = 0 To ListBox1.ListCount - 1
    If ListBox1.Selected(i) = True Then
        Bolumler(i + 1) = ListBox1.List(i)
    End If
Next i
ThisWorkbook.Sheets("Tercihler").Activate
Selection.AutoFilter Field:=6, Criteria1:=Bolumler, Operator:=xlFilterValues
End Sub
 
Geri
Üst