VBA Filtreleme sorunu

Katılım
2 Kasım 2019
Mesajlar
71
Excel Vers. ve Dili
Excel 2016
Üstadlarım bir yerde tıkandım aşamıyorum, % de ifadeli değişken hücreye makro ile otomatik filtreleme yapıyorum sorun yok fakat bazı durumlarda filtre yaptığım değerin + /- 5 olarak bulmak istiyorum bunu bir türlü formüle dökemedim, yardımcı olabilecek var mı?


 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,653
Excel Vers. ve Dili
Pro Plus 2021
Kod:
Sub Makro1()
    ActiveSheet.Range("$Q$3:$Q$1907").AutoFilter Field:=1, _
                                                 Criteria1:=">=" & [q2] * 0.95, _
                                                 Operator:=xlAnd, Criteria2:="<=" & [q2] * 1.05
End Sub
 
Katılım
12 Aralık 2015
Mesajlar
1,207
Excel Vers. ve Dili
Türkçe Ofis 2007
Aşağıdaki kod size fikir verebilir. E1 hücresine normal sayısal değer giriniz (5% değil 5 şeklinde)
Kod:
Sub Makro3()
c = Range("E1").Value
aa = ">=" & c + 2 & "%"
bb = ">=" & c - 2 & "%"
    ActiveSheet.Range("$A$1:$A$12").AutoFilter Field:=1, Criteria1:=aa, Operator:=xlAnd, Criteria2:=bb
End Sub
 
Katılım
12 Aralık 2015
Mesajlar
1,207
Excel Vers. ve Dili
Türkçe Ofis 2007
Eğer E1 hücresine 10% gibi bir değer, F1 3% gibi değer girerseniz, listede 7% ve 13% değeri arasında olanları süzer.
Kod:
Sub Makro3()
    ActiveSheet.Range("$A$1:$A$12").AutoFilter Field:=1, Criteria1:="<=" & Format([E1] + [F1], "0%"), Operator:=xlAnd, Criteria2:=">=" & Format([E1] - [F1], "0%")
End Sub
 
Katılım
2 Kasım 2019
Mesajlar
71
Excel Vers. ve Dili
Excel 2016
Kod:
Sub Makro1()
    ActiveSheet.Range("$Q$3:$Q$1907").AutoFilter Field:=1, _
                                                 Criteria1:=">=" & [q2] * 0.95, _
                                                 Operator:=xlAnd, Criteria2:="<=" & [q2] * 1.05
End Sub
Hocam teşekkür ederim fakat formülü uyguladığımda 0,20235 - 0,22365 değerleri arasında bir arama yapıyor, sonuç çıkmıyor.
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,653
Excel Vers. ve Dili
Pro Plus 2021
Ben %5 diye düşündüm.
Kod:
Sub Makro1()
    ActiveSheet.Range("$Q$3:$Q$1907").AutoFilter Field:=1, _
                                                 Criteria1:=">=" & [q2] - 0.05, _
                                                 Operator:=xlAnd, Criteria2:="<=" & [q2] + 0.05
End Sub
 
Katılım
2 Kasım 2019
Mesajlar
71
Excel Vers. ve Dili
Excel 2016
Aşağıdaki kod size fikir verebilir. E1 hücresine normal sayısal değer giriniz (5% değil 5 şeklinde)
Kod:
Sub Makro3()
c = Range("E1").Value
aa = ">=" & c + 2 & "%"
bb = ">=" & c - 2 & "%"
    ActiveSheet.Range("$A$1:$A$12").AutoFilter Field:=1, Criteria1:=aa, Operator:=xlAnd, Criteria2:=bb
End Sub
Hocam bunu uyarlamam mümkğn değil % değerli olmaz ise tüm format değişiyor
 
Katılım
2 Kasım 2019
Mesajlar
71
Excel Vers. ve Dili
Excel 2016
Eğer E1 hücresine 10% gibi bir değer, F1 3% gibi değer girerseniz, listede 7% ve 13% değeri arasında olanları süzer.
Kod:
Sub Makro3()
    ActiveSheet.Range("$A$1:$A$12").AutoFilter Field:=1, Criteria1:="<=" & Format([E1] + [F1], "0%"), Operator:=xlAnd, Criteria2:=">=" & Format([E1] - [F1], "0%")
End Sub
Ali Hocam bunu kendi formatıma uydurdum ne akdar teşekkür etsem azdır.
 
Katılım
2 Kasım 2019
Mesajlar
71
Excel Vers. ve Dili
Excel 2016
Ben %5 diye düşündüm.
Kod:
Sub Makro1()
    ActiveSheet.Range("$Q$3:$Q$1907").AutoFilter Field:=1, _
                                                 Criteria1:=">=" & [q2] - 0.05, _
                                                 Operator:=xlAnd, Criteria2:="<=" & [q2] + 0.05
End Sub
Veysel hocam çok çok teşekkür ederim, çalışıyor.
 
Üst