• DİKKAT

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

VBA Çoklu Koşullu Biçimlendirme

Katılım
3 Aralık 2014
Mesajlar
212
Excel Vers. ve Dili
Microsoft Excel 2007
Merhabalar. Ekteki dosya'da yapmak istediğim şey şu ;
Tuşa atanacak bir makro ile veya worksheet change olayında Koşullu Biçimlendirme yapılacak.
Sayfa üzerindeki A sütununda "Devir" bulunan satırlarda B ve D nin 0'dan büyük olduğunda o satırın son dolü hücresine kadar hücrelerin renklendirilmesi gerekiyor.Yardımlarınızı bekliyorum.

http://s6.dosya.tc/server7/vka8s4/VBA_Kosullu_Bicimlendirme.xlsx.html
 
Merhaba.

B ve D sütunundaki sayıların aynı anda 0'dan büyük olması mümkün olmasa gerek.
Zira biri Borç Toplamı, diğeri Alacak Toplamı.

Eğer isteğiniz A sütunu "Devir" ve B veya D sütunu 0'dan büyük iken biçimlendirme ise,
A1 dahil dolu alanı seçip, koşullu biçimlendirme -> formül kullan seçeneğinde
=VE($A1="Devir";YADA($B1>0;$D1>0))
formülünü kullanarak istediğiniz sonucu almanız lazım.

İlle de hem B hem D sütunu 0'dan büyükse aynı işlemi istiyorsanız,
kırmızı renklendirdiklerimi silmeniz yeterli olur.
.
 
Merhaba.

B ve D sütunundaki sayıların aynı anda 0'dan büyük olması mümkün olmasa gerek.
Zira biri Borç Toplamı, diğeri Alacak Toplamı.

Eğer isteğiniz A sütunu "Devir" ve B veya D sütunu 0'dan büyük iken biçimlendirme ise,
A1 dahil dolu alanı seçip, koşullu biçimlendirme -> formül kullan seçeneğinde
=VE($A1="Devir";YADA($B1>0;$D1>0))
formülünü kullanarak istediğiniz sonucu almanız lazım.

İlle de hem B hem D sütunu 0'dan büyükse aynı işlemi istiyorsanız,
kırmızı renklendirdiklerimi silmeniz yeterli olur.
.

Sayın Ömer BARAN ; ilginiz için teşekkürler. Verdiğiniz kod ile çözüme ulaşamadım. Sanırım sorunumu tam anlatamadım. Bu örnek bir dosya ve asıl dosyada 2000 küsür veri var. A sütununda devir bulunan satırlar ile B ve D sütunlarının kesişim hücrelerindeki değerler eğer 0'dan büyük ise o satırın sol dolü hücresine kadar kırmızı renklendirilmesini istiyorum. Koşullu biçimlendirme ile A4 te bulunan Devir satırında B sütununda kesişen B4 hücresine bu kodu
Kod:
=EĞER($B$4>0;1)
girerek ve biçim ayarlarından satırın kırmızı renk almasını sağlayarak bunu başardım. Ama her bir Devir satırı için tekrar tekrar koşullu biçimlendirme yapıyorum gerekli hücrelere. Ben bunu makro ile yapmanın peşindeyim.
 
Tekrar merhaba.

Makro mesele değil, mesele isteğin tam anlaşılması.
Koşullu biçimlendirme uygulayarak değil, renklendirilecek hücre/hücreler/satır neyse,
elle renklendirme yaparak örnek belgenizi yenilemenizde yarar var sanırım.
.
 
Alternatif;

Kod:
Sub Renklendir()
    Dim Bul As Range, Adres As String
    
    Range("A:E").Interior.ColorIndex = xlNone
    
    Set Bul = Range("A:A").Find("Devir", , , xlWhole)
    If Not Bul Is Nothing Then
        Adres = Bul.Address
        Do
            If Cells(Bul.Row, "B") > 0 Or Cells(Bul.Row, "D") > 0 Then
                Range("A" & Bul.Row & ":E" & Bul.Row).Interior.ColorIndex = 33
            End If
            Set Bul = Range("A:A").FindNext(Bul)
        Loop While Not Bul Is Nothing And Bul.Address <> Adres
    End If
        
    MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub
 
Merhaba Sayın AYHAN.

Verdiğiniz kod'u yanlış okumuyorsam; benim önerdiğim koşullu biçimlendirme formülü ile aynı işlemi öngörüyorsunuz doğru mudur acaba?

Bu arada bir de Sayın TEGCreative'ye şunu hatırlatmak isterim.

Koşullu biçimlendirme işleminde kullanacağınız formüllerin sonucunun DOĞRU/YANLIŞ (veya 1 / 0) biçiminde olması gerekir.

Dolayısıyla yukarıdaki cevabınızda kullandığınızı söylediğiniz; =EĞER($B$4>0;1) formülü yerine =$B$4>0 formülü de kullanılabilir
Neticede her iki formülün sonucu aynı (0/1 veya aynı anlama gelmek üzere YANLIŞ/DOĞRU).
.
 
Doğrudur, Ömer Bey.

Kod ile çözüm istendiği için alternatif sundum.
 
Sayın Korhan Ayhan ; çözüm öneriniz için çok teşekkürler. Tam istediğim buydu. Ömer bey ilginiz için çok teşekkür ederim. Belki de ben beceremedim ama verdiğiniz kod ile sonuca ulaşamadım. İlgi ve alakanız için çok teşekkürler.
 
Geri
Üst