• DİKKAT

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

koşullu hücre boyama

  • Konbuyu başlatan Konbuyu başlatan bono
  • Başlangıç tarihi Başlangıç tarihi
Katılım
24 Haziran 2005
Mesajlar
142
Excel Vers. ve Dili
excel 2003 ing
Arkadaşlar aşağıdaki kodda nasıl bir hata yaptığımı bilmiyorum ama istediğim sonucu alamıyorum.

Yapmak istediğim ; Eğer sheet1 de A kolonuna girilen bilgiler sheet2 de mevcutsa hücre rengini değiştirmek istiyorum. Değilse hiç bir şey yapmasın veya beyaz yapsın.

Kod ise ;

Private Sub Worksheet_Change(ByVal Target As Range)
For sut = 1 To [a65536].End(3).Row
Range("A2").Select
If Range("a" & sut) <> "=VLOOKUP(RC,Sheet2!RC:R[2]C,1,0)" Then Range("a" & sut).Interior.ColorIndex = 2
If Range("a" & sut) = "=VLOOKUP(RC,Sheet2!RC:R[2]C,1,0)" Then Range("a" & sut).Interior.ColorIndex = 5
Next
End Sub
 
Merhaba,

Küçük bir örnek ekleyerek açıklarmısınız. Ayrıca bu iş için en iyi yol koşullu biçimlendirme uygulamaktır.

.
 
Dosyayı eke koydum ve asıl yapmak isteğim şeyi dosyada açıklamaya çalıştım.

Şu anda koşullu biçimlendirmeyi kullanıyoruz. Ancak bu dosya bir çok kişi tarafından kullanılmakta ve başka dosyalardan üzerine formatı bozacak nitelikte yapıştırmalar yapılmakta. Eğer makro olursa bu bozulmaz diye düşünüyorum.

Ayrıca koşullu biçimlendirme de VLOOKUP çalıştıramadığım için (excel 2007 ) başka bir kolonda bu işlemi yapıp oradaki bilgiye göre renklendirme yapıyorum ki buda dosyanın başka hücrelerinde formül olması demek oluyor.

Yardım edebilirseniz sevinirim
 

Ekli dosyalar

Bu şekilde deneyin.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
Set S1 = Sheets("Sheet2")
Set S2 = Sheets("Sheet3")
If Not Intersect(Target, [A2:A65536]) Is Nothing Then
If Target = "" Then Exit Sub
If WorksheetFunction.CountIf(S1.Range("A:A"), Target) > 0 Or _
WorksheetFunction.CountIf(S2.Range("A:A"), Target) > 0 Then
Target.Interior.ColorIndex = 3
Else
Target.Interior.ColorIndex = xlNone
End If
End If
End Sub

.
 
Geri
Üst