• DİKKAT

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

Checkbox + Autofilter + commandbutton

  • Konbuyu başlatan Konbuyu başlatan fasulye
  • Başlangıç tarihi Başlangıç tarihi
Katılım
26 Temmuz 2005
Mesajlar
34
Excel Vers. ve Dili
Excel 2010 - İngilizce
Excel 2010 - Türkçe
Merhaba,
Mesajımı yazmadan önce forumda ve nette bolca arama yaptım, ancak doğru arama yapamadığım için ya da bulduklarımı anlamadığım için buradan yardım talep ediyorum.

Talebim;
"autofilter özelliğindeki Array değerlerinin checkbox.lar tarafından belirlenmesi"

checkbox.1 dolu ise; auto filtre içinde belli değerler olacak, commandbutton çalışınca bu değerlere göre süzecek. Buraya kadar yaptım.

Ancak, birden çok checkbox. olmalı ve her biri filtre içinden farklı değerleri eklemeli, sonunda commandbutton çalışınca tüm değerler süzülmeli.

Örneğin ben 3 adet checkbox. (anadolu bölgesi şehirleri) seçeceğim ve bu şehirlerdeki bayii isimleri süzülecek,
bir diğeri başka 2 adet checkbox. (doğu bölgesi şehirleri) seçecek ve bu şehirlerdeki bayii isimleri süzülecek.

Ekte dosya iletiyorum, sorun olursa diye örnek yaptığım koduda aşağıya ekledim.

Destek olabilen arkadaşlara şimdiden teşekkürler.
Volkan Tusu


Private Sub CommandButton1_Click()
If CheckBox1.Value = True Then

ActiveSheet.Range("$H$1:$L$5").AutoFilter Field:=3, Criteria1:=Array("56", _
"645", "96"), Operator:=xlFilterValues
End If

End Sub
 

Ekli dosyalar

Merhaba.

Mevcut sayısal veriler için aşağıdaki gibi olabilir.

Metinsel filtre için ise; makro kaydet yöntemiyle filtreler uygulayıp kaldırarak
oluşan kodlardan hareketle bence içinden çıkabilirsiniz.

Malum metin filtreleme ile sayısal, tarihsel filtreleme biraz farklılıklar gösteriyor.
.
Kod:
[FONT="Arial Narrow"]Private Sub CommandButton1_Click()

If CheckBox1.Value = True Then
    kriter1 = [COLOR="Blue"][B]232[/B][/COLOR]  [COLOR="Blue"]'*** filtrelemede CheckBox1 için düşündüğünüz kriter değer[/COLOR]
End If
    If CheckBox2.Value = True Then
        kriter2 = [COLOR="Blue"][B]45[/B][/COLOR]  [COLOR="Blue"]'*** filtrelemede CheckBox2 için düşündüğünüz kriter değer[/COLOR]
    End If
If CheckBox1 = False And CheckBox2 = False Then
    ActiveSheet.Range("$H$1:$L$5").AutoFilter Field:=1
    Exit Sub
End If

ActiveSheet.Range("$H$1:$L$5").AutoFilter Field:=1, Criteria1:=0 + kriter1, _
Operator:=xlOr, Criteria2:=0 + kriter2

End Sub[/FONT]
 
Ömer Bey çok çok teşekkür ederim desteğiniz için.

sorumu biraz daha genişletmek istiyorum;
kriter1 olarak tanıladığımız değeri tek bir rakam değil de birden çok rakam haline nasıl getirebilirim?

aşağıda array kullanrak bir deneme yaptım ama bu haliyle kod uzayacak gibi gözüküyor.
Yardımlarınızı rica ederim,


teşekkürler.

Private Sub CommandButton1_Click()

If CheckBox1.Value = True Then
kriter1 = "232"
kriter3 = "1"
End If
If CheckBox2.Value = True Then
kriter2 = "45"
If CheckBox1 = False And CheckBox2 = False Then
ActiveSheet.Range("$H$1:$L$5").AutoFilter Field:=1
Exit Sub
End If

ActiveSheet.Range("$H$1:$L$5").AutoFilter Field:=1, Criteria1:=Array(kriter1, _
kriter2, kriter3), Operator:=xlFilterValues

End Sub
 
Son düzenleme:
Geri
Üst