• DİKKAT

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

Tarih tabloda satır renklendir

Katılım
14 Haziran 2006
Mesajlar
575
Merhaba,

Ekli dosyamdaki Sayfa1'de bulunan tablonun C sutunundaki tarihler Sayfa2'deki J sutununa bakarak eğer Sayfa2'nin J sutununda o tarihler var ise Sayfa1'de o tarihe karşılık gelen J,M sutun ve satırlarını siyah renkle boyamasını yapabilirmiyiz teşekkürler.

Tablomda bir kod olduğu için ikinci bir tarih renklendirme koduna ihtiyacım var.
 

Ekli dosyalar

-- Koşullu biçimlendirme ile sonuç almak isterseniz;
I2:M85 alanını seçip FORMÜL kullan seçeneği üzerinden yeni bir koşullu biçilendirme uygulayın.
Bu biçimlendirme için aşağıdaki formülü kullanarak SİYAH rengi ayarlayıp işlemi onaylayın.

NOT: Verilerinizin durumunu bilemiyorum ama Sayfa2 J sütunundaki verilerin miktarı sabit/belli ise;
formüldeki $J:$J yerine $J$2:$J$100 gibi alan daraltmanızda yarar olduğunu belirtmeliyim.
=EĞERSAY(Sayfa2!$J:$J;KAYDIR($C$1;TAMSAYI((SATIR()-2)/14)*14+1;0))
-- MAKRO ile sonuç almak isterseniz:
Rich (BB code):
Sub SIYAHA_BOYA()
Set s1 = Sheets("Sayfa1"): Set s2 = Sheets("Sayfa2")
s1.[I:M].Interior.Color = xlNone
For sat = 2 To s1.Cells(Rows.Count, "I").End(3).Row Step 14
    If WorksheetFunction.CountIf(s2.[J:J], s1.Cells(sat, "C")) > 0 Then _
        s1.Range("I" & sat & ":M" & sat + 13).Interior.Color = vbBlack
Next
End Sub
 
Son düzenleme:
Ömer Bey,
Kod tam istediğim gibi çalışıyor, ancak kodu çalıştırdığım zaman diğer renkli olan satırların renklerini siliyor silmeyecek sadece tarihe karşılık gelen satırları siyah yapacak.
 

Ekli dosyalar

Son eklediğiniz örnek belgeye bakmadım.
Verdiğim kod'daki s1.[I:M].Interior.Color = xlNone satırını silin veya satırın sol başına TEK TIRNAK ekleyerek
(tek tırnak işareti eklendiğinde kodun ilgili satırının yazıtipi rengi yeşil olur) etkisiz kalmasını sağlayın.
.
 
Orhan bey,

Sub SIYAHA_BOYA()
Set s1 = Sheets("Sayfa1"): Set s2 = Sheets("Sayfa2")
For sat = 2 To s1.Cells(Rows.Count, "I").End(3).Row Step 14
If WorksheetFunction.CountIf(s2.[J:J], s1.Cells(sat, "C")) > 0 Then _
s1.Range("I" & sat & ":M" & sat + 13).Interior.Color = vbBlack
Next
End Sub

Kodda biraz güzelleştirme yapabilirmiyiz.Kodun tarihi bulduğu satırlarda benim formüllerim olduğu için kod çalışmıyor.(Otomatik kodlar olduğu için).Formülleri silince çalışıyor.Bu işlemi koda yaptırabilirmiyiz.Kod gidecek bulduğu tarih satırlarındaki formülleri sileceç ( tarihin bulduğu satırları delete diyecek) sonra siyah ile boyayacak.Beyaz yazı rengi ile BOŞ yazaçak.Teşekkürler
 
Son düzenleme:
Önce adımın @Ömer BARAN olduğunu hatırlatayım.

Verdiğim kod, örnek belgenizde sorunsuz çalışıyor.

Cevabımın altındaki İMZA bölümünde yer alan, örnek belge özellikleriyle ilgili açıklamaları okuyarak yeni bir örnek belge yükleyiniz.
Bahsettiğim açıklamaları, bu tür durumlarla karşılaşılmaması için yazıyoruz zaten. Yoksa kimsenin gerçek verilerini merak ettiğimiz filan yok.
.
 
Geri
Üst