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ı?
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Örnek dosya yüklerseniz daha çabuk yanıt alabilirsiniz.:cool:
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,243
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Filtre bölümünde seçilen kriterleri ARRAY olarak tanımlamanız gerekiyor.
 
Katılım
16 Ekim 2010
Mesajlar
17
Excel Vers. ve Dili
2007 türkçe
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
 
Üst