• DİKKAT

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

zemin rengine göre veri silme

yalovam77

Altın Üye
Altın Üye
Katılım
12 Temmuz 2006
Mesajlar
206
Excel Vers. ve Dili
Microsoft 365 / Türkçe
Merhaba üsdatlarım

siteden bulduğum makro ile ekte gönderdiğim belgede j sütununda her hangi bri hücrenin rengini sarı yaptığımda yandaki hücreye 1 yazılıyor. daha sonra zemin rengi sarı olan her hangi bir hücrenin rengini beyaz yapınca yanındaki hücreye yazılan 1 rakamınında otomatik silinmesi gerekiyor. ilgilenize teşekkür ederim.
 

Ekli dosyalar

Modüle Ekle :
Public hucre As Variant
Sub hucre_rng_alt()
On Error Resume Next
Renk = Range(hucre).Interior.ColorIndex
Select Case Renk
Case 6 'Sarı
Range(hucre).Offset(0, 1).Value = "1"
End Select
End Sub
Sub hucre_rng()
On Error Resume Next
Renk = Range(hucre).Interior.ColorIndex
Select Case Renk
Case 2
Range(hucre).Offset(0, 1).Value = " "
End Select
End Sub

ThisWorkbook a ekle :
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Excel.Range)
Call hucre_rng_alt
Call hucre_rng
hucre = ActiveCell.Address
End Sub
Kırmızı " " arasına ne yazarsan Hücrede o görünür.
Bu Hali ile Hücre boş görünür.
 
Çok teşekkür ederim üsdadım çok işime yaradı.Allah razı olsun
 
Merhaba değerli üsdatlarım hücre rengine göre silmeyi tek bir sütunda yapabilirmiyiz yani j sütununda hücreler renklendirilecek k sütununda 1 yazılacak gibi olabilirmi acaba. teşekkür ederim
 
Merhaba,

Sayfada renk değiştirmek bir olayı tetiklemez. Bu sebeple ben size "çift tıklama" olayını kullanarak bir kod yazdım.

Aşağıdaki kodu bu işlemi yapacağınız sayfanın kod bölümüne uygulayınız. "J" sütununda renk değiştirip ilgili hücreye çift tıklayınız. Bu şekilde "K" sütunundaki değer değişecektir.

Kod:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Intersect(Target, Range("J:J")) Is Nothing Then Exit Sub
    Cancel = True
    If Target.Interior.ColorIndex = 6 Then
        Target.Next = "1"
    ElseIf Target.Interior.ColorIndex = xlNone Then
        Target.Next = ""
    ElseIf Target.Interior.ColorIndex = 2 Then
        Target.Next = ""
    End If
End Sub
 
Geri
Üst