• DİKKAT

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

Bir tablodaki belirli hücrelerin koşullu biçimlendirilmesi.

xternet

Altın Üye
Katılım
12 Kasım 2004
Mesajlar
462
Excel Vers. ve Dili
2010 Tr
Merhaba Arkadaşlar.
Az önce yanlışlıkla sorumu başlık kullanmadan göndermişim. Doğal olarak yayınlanmamış. Yanlışlıktan dolayı özür dileyerek tekrar yazıyorum.

Bir konuda uzman arkadaşların fikirlerine ihtiyacım var.
Eklediğim örnek dosyada bir okulun öğretmen listesi, okutulan dersler ve sınıflardan oluşan bir tablo var. BF sütunundaki öğretmen listesinin solunda (BE sütunu) öğretmenleri temsil eden numaralar var.
Her sınıf için seçilen dersler beyaz hücrelerle belirlenmiş durumda. Bu tablo ile yapılan işlem; her sınıfta derse girecek öğretmenlerin belirlenmesi bu tablo ile yapılıyor. Beyaz dolgulu hücrelere öğretmenleri temsil eden numaralar yazılarak atamalar yapılıyor.

Sorum şu: Atamalar yapılırken bir öğretmenin hangi sınıflara atandığını görmek istediğimizde o öğretmenin numarasını tabloda arayıp bulmak güç oluyor. Bu görme işlemini kolaylaştırmak için şöyle bir makro kodu yazılabilir mi?

Mesela BE sütununda herhangi bir öğretmenin numarasına tıklandığında tabloda o numaranın bulunduğu hücrelerin dolgusu farklılaşabilirmi? Böylece o numaranın hangi derslere atandığı kolaylıkla seçilebilir.
Yada tayin ettiğimiz bir hücrye bir öğretmenin numarasını yazdığımızda tabloda o numaralar farklılaşabilir mi?
Ben 1. seçeneğin olmasını tercih ederim ama 2. seçenekte işimizi görür.

Mümkünse bu konuda yardımlarınızı bekliyorum.
İyi çalışmalar.
 

Ekli dosyalar

Selamlar,

Aşağıdaki kodu sayfanın kod bölümüne uygulayıp kullanabilirsiniz. Fakat kodun istenilen sonucu vermesi için hücrelerdeki koşullu biçimlendirmeleri iptal etmelisiniz. Aksi halde renkleri göremezsiniz. Ayrıca bu tarz renklendirme işlemlerinin düzgün çalışması için önceden renklendirilmiş hücrelerin dolgu renklerinin silinmesi gerekir. Fakat siz bazı hücrelere dolgu renkleri vermişsiniz. Kod çalıştığında bunlarda zarar görecektir. Lütfen bu uyarılarımı dikkate alarak kodu çalıştırın.

Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim Hücre As Range

    If Intersect(Target, Range("BE7:BE146")) Is Nothing Then Exit Sub
    If Application.CutCopyMode = xlCut Then Application.CutCopyMode = False

    Range("F18:BC101").Interior.ColorIndex = xlNone

    For Each Hücre In Range("F18:BC101")
    If Hücre.Value = Target Then Hücre.Interior.ColorIndex = 4
    Next
End Sub
 
Sayın Korhan Ayhan;
verdiğiniz kodu modüle yerleştirdim. Hiçbir tepki vermedi.
ThisWorkbook sayfasına yerleştirdim. Hiç bir tepki vermedi.
Son olarak sayfaya ait kod sayfasına yerleştirdim.
"Ambiguous name detected Worksheet_SelectionChange" şeklinde bir mesaj çıktı ve kaldı.
 
Selamlar,

Son yapıştırdığınız yer doğru zaten mesajımda da belirtmiştim. Fakat o bölümde aynı isimle başlayan bir kod daha olduğu için hata veriyor. Eskisini silip benim verdiğim kodu uygulayın.
 
Sayın Korhan Aydın; dediğiniz gibi oldu. Tablodaki tüm biçimlendirmeler iptal oldu. Tablodaki biçimlendirmeler daha önemli olduğu için bu koddan vazgeçtim. Excelin sunduğu 3 koşullu biçimlendirme seçeneğiyle halletmeye çalışıcam. İlginizden dolayı teşekkür ederim.

Yalnız bir şeyi sorucam. Ben bu çalışmayı ilk olarak hazırlayalı 4-5 yıl oldu. Az önce bahsettiğiniz isim çakışmasına sebep olan kodu neden yazdığımı ve ne işe yaradığını hatırlayamadım.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Application.CutCopyMode = xlCut Then Application.CutCopyMode = False
End Sub

Kod bu. Bu kodun işlevini söyleyebilir misiniz?
 
Geri
Üst