H

Çözüldü Seçenek Düğmeleriyle Filtreleme

  • Konuyu başlatan Konuyu başlatan hakki83
  • Başlangıç tarihi Başlangıç tarihi
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

hakki83

Site Üyesi
Excel Versiyonu
Excel 2016
Excel Sürümü
64 Bit
Excel Dili
Türkçe
Selamlar

Exceldeki onlarca yüzlerce özellikten biri olan filtreleme özelliği, sevdiğim bir özelliktir.

Arşivimdeki benim olmayan bir dosyaya bakarak, kendime göre bir örnek dosya hazırladım.

Örnek dosyada şu an için olmasını istediğim, tıkladığım düğmeyle kriterlere göre filtreleme yapmak.

1. satırda KIRMIZI’ya tıkladığımda kırmızılar filtrelenecek.
2. satırda ORTA’ya tıkladığımda ortalar filtrelenecek.
Bunun gibi.

Ve,

Her iki satırda bulunan (B1 ve B2 hücreleri) TAMAMI düğmelerine tıklayınca, filtremeler temizlenmiş olacak.

Ama,

Her iki satırda bulunan TAMAMI düğmelerinin ikisine de tıkladıktan sonra seçili kalmalarını sağlayabilmeli ve filtreleri temizleyebilmeliyim.
Zira elimdeki yabancı dosyada bu şekilde oluyor.

Teşekkürler

Bir de siz hocalarımızdan çözüm geldikten sonra, son sütundaki KUMAŞ kriterine göre çalışan filtreleme düğmesini, ben yapmak ve ilave etmek istiyorum.
 

Ekli dosyalar

Çözüm
İf yapısını öğrenmeniz gerek. İf dilimizde Eğer kelimesine karşılık geliyor. . Eğer şu ise bunu yap gibi düşünebilirsiniz.
Bir çok kullanım yapısı var. İlk başta şunu ifade edeyim if ile başayan bir kod kesinlikle end if ile bitmeli.
Örnek:
İf Koşulunuz Then​
Eğer koşul sağlanırsa çalışacak kod​
end if​

Bu durumda ifleri çoğaltabiliriz.
if koşul1 then​
Eğer koşul sağlanırsa çalışacak kod​
end if​
if koşul2 then​
Eğer koşul sağlanırsa çalışacak kod​
end if​
if koşul3 then​
Eğer koşul sağlanırsa çalışacak kod​
end if​

Bu durumda kriterimiz her if koşuluna girip...
Anladığım kadarıyla seçenek ve onay kutulu dosyaları ayrı bir şekilde istiyorsunuz. 2. ve 18. mesajdaki ekleri birleştirip dosyayı eklemek yeterli.
İlgili sayfadaki kodları inceleyip istediğinizi yapabilirsiniz.
1600861193172.webp

Onay Kutulu İlgili Kod:
Kod:
Görüntülemek için giriş yapmanız gerekmektedir.
(19 satır)

Seçencek Kutulu İlgili Kod:
Kod:
Görüntülemek için giriş yapmanız gerekmektedir.
(17 satır)

1600861270946.webp
1600861287651.webp
Emeğinize sağlık
Bilgisayar başına geçince hevesle inceleyeceğim :)
 
Moderatörün son düzenlenenleri:
Anladığım kadarıyla seçenek ve onay kutulu dosyaları ayrı bir şekilde istiyorsunuz. 2. ve 18. mesajdaki ekleri birleştirip dosyayı eklemek yeterli.
İlgili sayfadaki kodları inceleyip istediğinizi yapabilirsiniz.
Ekli dosyayı görüntüle 8599

Onay Kutulu İlgili Kod:
Kod:
Görüntülemek için giriş yapmanız gerekmektedir.
(19 satır)

Seçencek Kutulu İlgili Kod:
Kod:
Görüntülemek için giriş yapmanız gerekmektedir.
(17 satır)

1600861270946.webp
1600861287651.webp

Sayın cakarem merhaba
Ustalığınızla şahane bir dosya ve kodlar oluşturmuşsunuz.

(Hemen arada belirteyim, seçenek kutuluda hiçbir sorun yok, istediğim kriteri ekleyebiliyorum)

Gelelim onay kutuluya,
İki gündür denemeler yapıyorum. Tabi hemen üçüncü kriteri eklemek istedim, fakat yapamadım.

Diyeceksiniz ki,
”seçenek kutuluyu yapabildin ama onay kutuluyu neden yapamadın?”

Şundan dolayı, seçenek kutulunun kodlardaki satırları standart gibiydi. Birbirine benzerdi. Bu yüzden düzeltmeleri yapıp, kolayca ekleyebilmiştim üçüncü kriteri.

Ama onay kutuluda kriterlerin kodlarının görüldüğü satırlarında,

renk kriter satırları If ile başlarken


satıl kriter satırları ElseIf ile başlıyordu. Yani farklılık arz ediyordu.

Bu yüzden yapamadım :)

Acaba doğrusu nasıldır?
 

Ekli dosyalar

Moderatörün son düzenlenenleri:
İf yapısını öğrenmeniz gerek. İf dilimizde Eğer kelimesine karşılık geliyor. . Eğer şu ise bunu yap gibi düşünebilirsiniz.
Bir çok kullanım yapısı var. İlk başta şunu ifade edeyim if ile başayan bir kod kesinlikle end if ile bitmeli.
Örnek:
İf Koşulunuz Then​
Eğer koşul sağlanırsa çalışacak kod​
end if​

Bu durumda ifleri çoğaltabiliriz.
if koşul1 then​
Eğer koşul sağlanırsa çalışacak kod​
end if​
if koşul2 then​
Eğer koşul sağlanırsa çalışacak kod​
end if​
if koşul3 then​
Eğer koşul sağlanırsa çalışacak kod​
end if​

Bu durumda kriterimiz her if koşuluna girip kontrol edecektir. Koşul1 e bakacak oluyorsa ilgili kodu çalıştıracak sonra aşağıya doğru ilerleyip ikinci koşula bakacak onuda sağlıyor ise kodu çalıştıracak. Lakin bizim dosyamızda buna gerek yok birini sağlıyorsa diğeri kontrol etmemeli bu durumda ELseif yapısı oluşturmak gerekecektir.
Örnek:

if koşul1 then​
Eğer koşul sağlanırsa çalışacak kod​
elseif koşul2 then​
Eğer koşul sağlanırsa çalışacak kod​
elseif koşul3 then​
Eğer koşul sağlanırsa çalışacak kod​
end if​
şimdi koda baktığınız da bir önemli noktayı görmüşsünüz. İf ELseif yapısını kullanırken sadece tek bir End if kullandık. Bir önceki yapıya baktığınızda her if bloğu için end if yazarken bunda sadece bir tane kullanmanız yeterli geldi. Buda kodumuzu daha kısa ve anlaşılmasını daha kolay yaptı.
İkinci olarak dediğim gibi bu yapıda her koşul kontrol edilmez. Bilgisayar kodları okurken yukarıdan aşağıya doğru okur. Buna göre ilk başta koşul1 e bakacaktır. Eğer sağlıyorsa Koşul1 altında yer alan kodu çalıştırıp koddan çıkacaktır. Koşul1 ve koşul2 kontrol etmeyecektır. Ama koşul1 sağlanmazsa aşağıya doğru devam edip koşul2 koşulunu kontrol edecektir. Sağlıyor ise koşul3 e girmeden kodu bitirecektir. Eğer sağlamazsa bunuda koşul3 kontrolünü sağlayacaktır. Bu şekilde kodlar uzayıp gider.

Son olarak bir de else kullanımı var. Buda koşulların hiç biri sağlanmadığında çalışacak olan kod anlamına geliyor. Denemeler yaparak öğrenebilirsiniz.
Örnek kod yapısı :
if koşul1 then​
Eğer koşul sağlanırsa çalışacak kod​
elseif koşul2 then​
Eğer koşul sağlanırsa çalışacak kod​
elseif koşul3 then​
Eğer koşul sağlanırsa çalışacak kod​
else​
eğer koşul1, koşul2 ve koşul3 sağlanmazsa çalışacak kod​
end if​
Bununla ilgili internette bolca kaynak var. Araştırıp denemeler yaparak bilginizi artırabilirsiniz. Kod yazma zevkini bir defa aldınız mı devamı gelecektir. :)

Gelelim sorunuza
Kod:
Görüntülemek için giriş yapmanız gerekmektedir.
(23 satır)
Kodlarınızda sadece if yapısı sıkıntılı. Onuda düzeltirseniz kodlarınız sorunsuz çalışacaktır. Bir de bazı kısımları değiştirmeyi unutmuşsunuz. Kodun doğrusu aşağıdadır. Nerede hata yaptığınızı inceleyip bulabilirsiniz.

Kod:
Görüntülemek için giriş yapmanız gerekmektedir.
(23 satır)
 
Çözüm
İf yapısını öğrenmeniz gerek. İf dilimizde Eğer kelimesine karşılık geliyor. . Eğer şu ise bunu yap gibi düşünebilirsiniz.
Bir çok kullanım yapısı var. İlk başta şunu ifade edeyim if ile başayan bir kod kesinlikle end if ile bitmeli.
Örnek:
İf Koşulunuz Then​
Eğer koşul sağlanırsa çalışacak kod​
end if​

Bu durumda ifleri çoğaltabiliriz.
if koşul1 then​
Eğer koşul sağlanırsa çalışacak kod​
end if​
if koşul2 then​
Eğer koşul sağlanırsa çalışacak kod​
end if​
if koşul3 then​
Eğer koşul sağlanırsa çalışacak kod​
end if​

Bu durumda kriterimiz her if koşuluna girip kontrol edecektir. Koşul1 e bakacak oluyorsa ilgili kodu çalıştıracak sonra aşağıya doğru ilerleyip ikinci koşula bakacak onuda sağlıyor ise kodu çalıştıracak. Lakin bizim dosyamızda buna gerek yok birini sağlıyorsa diğeri kontrol etmemeli bu durumda ELseif yapısı oluşturmak gerekecektir.
Örnek:

if koşul1 then​
Eğer koşul sağlanırsa çalışacak kod​
elseif koşul2 then​
Eğer koşul sağlanırsa çalışacak kod​
elseif koşul3 then​
Eğer koşul sağlanırsa çalışacak kod​
end if​
şimdi koda baktığınız da bir önemli noktayı görmüşsünüz. İf ELseif yapısını kullanırken sadece tek bir End if kullandık. Bir önceki yapıya baktığınızda her if bloğu için end if yazarken bunda sadece bir tane kullanmanız yeterli geldi. Buda kodumuzu daha kısa ve anlaşılmasını daha kolay yaptı.
İkinci olarak dediğim gibi bu yapıda her koşul kontrol edilmez. Bilgisayar kodları okurken yukarıdan aşağıya doğru okur. Buna göre ilk başta koşul1 e bakacaktır. Eğer sağlıyorsa Koşul1 altında yer alan kodu çalıştırıp koddan çıkacaktır. Koşul1 ve koşul2 kontrol etmeyecektır. Ama koşul1 sağlanmazsa aşağıya doğru devam edip koşul2 koşulunu kontrol edecektir. Sağlıyor ise koşul3 e girmeden kodu bitirecektir. Eğer sağlamazsa bunuda koşul3 kontrolünü sağlayacaktır. Bu şekilde kodlar uzayıp gider.

Son olarak bir de else kullanımı var. Buda koşulların hiç biri sağlanmadığında çalışacak olan kod anlamına geliyor. Denemeler yaparak öğrenebilirsiniz.
Örnek kod yapısı :
if koşul1 then​
Eğer koşul sağlanırsa çalışacak kod​
elseif koşul2 then​
Eğer koşul sağlanırsa çalışacak kod​
elseif koşul3 then​
Eğer koşul sağlanırsa çalışacak kod​
else​
eğer koşul1, koşul2 ve koşul3 sağlanmazsa çalışacak kod​
end if​
Bununla ilgili internette bolca kaynak var. Araştırıp denemeler yaparak bilginizi artırabilirsiniz. Kod yazma zevkini bir defa aldınız mı devamı gelecektir. :)

Gelelim sorunuza
Kod:
Görüntülemek için giriş yapmanız gerekmektedir.
(23 satır)
Kodlarınızda sadece if yapısı sıkıntılı. Onuda düzeltirseniz kodlarınız sorunsuz çalışacaktır. Bir de bazı kısımları değiştirmeyi unutmuşsunuz. Kodun doğrusu aşağıdadır. Nerede hata yaptığınızı inceleyip bulabilirsiniz.

Kod:
Görüntülemek için giriş yapmanız gerekmektedir.
(23 satır)
Çok teşekkür ederim
Deneyeceğim sakince
:)
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Üst