• DİKKAT

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

Seçilen Veriyi Renklendir Makrosu'nda Düzenleme

  • Konbuyu başlatan Konbuyu başlatan 1Al2Ver
  • Başlangıç tarihi Başlangıç tarihi
Katılım
5 Kasım 2007
Mesajlar
4,727
Excel Vers. ve Dili
64 Bit TR - Microsoft Office 365 - Win11 Home
Merhaba,

Ek'li dosyadaki kod, manuel girilen verilerde işlevini yaparken, formülle alınan verilerde yapmamaktadır,

Kod'da gerekli düzenlemeyi rica ediyorum,

Teşekkür ederim.

Kod:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Intersect(Target, Range("h2:h150")) Is Nothing Or Target.Cells.Count > 1 Then Exit Sub
Range("b2:f33,h2:h150").Interior.ColorIndex = 0
Range("b2:f33,h2:h150").Font.ColorIndex = 1
Application.ReplaceFormat.Interior.ColorIndex = 4 '3 kırmızı
Application.ReplaceFormat.Font.ColorIndex = 0 '2 =beyaz
Range("b2:f33,h2:h150").Replace What:=Target, Replacement:="", LookAt:=xlWhole, ReplaceFormat:=True
End Sub
 

Ekli dosyalar

Döngü ile yapabilirsiniz.

C++:
Option Explicit

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Dim Renklenecek_Alan As Range, Aranan As String, Bul As Range, Adres As String
    
    If Intersect(Target, Range("H2:H150")) Is Nothing Or Target.Cells.Count > 1 Then Exit Sub
    Cancel = True
    
    With Range("B2:F33,H2:H150")
        .Interior.ColorIndex = 0
        .Font.ColorIndex = 0
    End With
    
    Aranan = Target.Value
    
    Set Renklenecek_Alan = Target
    
    Set Bul = Range("B2:F33").Find(Aranan, , xlValues, xlWhole)
    If Not Bul Is Nothing Then
        Adres = Bul.Address
        Do
            Set Renklenecek_Alan = Union(Renklenecek_Alan, Bul)
            Set Bul = Range("B2:F33").FindNext(Bul)
        Loop While Not Bul Is Nothing And Bul.Address <> Adres
    End If
    
    If Not Renklenecek_Alan Is Nothing Then
        Renklenecek_Alan.Interior.ColorIndex = 4
        Renklenecek_Alan.Font.ColorIndex = 0
    End If

    Set Bul = Nothing
    Set Renklenecek_Alan = Nothing
End Sub
 
Sayın Korhan Ayhan, merhaba,

Öneri ve çözüm için çok teşekkür ederim, sağ olun,

Benim bu tür bir çözümü üretmem için daha çok yolum var,

Şu aşamada, tamamını olmasa bile, uzun ve karışık olmayan kodların işlevinin bir kısmını okuya biliyor ve anlaya biliyorum...

Böyle güzel çözümler ve sizlerin sayesinde de bunu, yavaş yavaş geliştire biliyorum,

Tekrar teşekkür ederim,

Saygılarımla.
 
Lütfen bu yorumumu yanlış anlamayın. Şahsınıza özgü bir yorum değildir.

Foruma 2007 yılında üye olmuşsunuz.
Mesaj sayınız 4 bini geçmiş.

Sizce en azından temel kodlamaları artık kendinizin yapması gerekmiyor mu?

Bana sorarsanız exceli öğrenmeye niyetli üyelerimizin mesaj sayıları en azından 500'ü geçtiği zaman artık bazı formülleri, kodlamaları yazması gerekir diye düşünüyorum. Forum ortamının bir amacıda bu olmalıdır.

Yoksa soruyu sor - cevabı al arşive at mantığının ilerlemek adına pek sağlıklı olduğunu düşünmüyorum.

Bu bağlamda size kendi imzanızdan bir alıntı yaparak hatırlatma yapmak isterim;

"Şimdi Yapmayacaksan, Ne Zaman ?"
 
Sayın Korhan Ayhan tekrar merhaba,

Değerli yorum ve eleştirileriniz için teşekkür ederim,

Yanlış anlaşılacak bir durum yok, içiniz rahat olsun,

Bende saygın bir yeri olan sizin, bu konudaki fikirlerinizi-önerilerinizi ve yapıcı eleştirilerinizi duymak beni mutlu eder,

Bir çok sorunu, makro kaydet ile ve/veya önceden yazılmış kodları yorumlayarak/deneme-yanılma yaparak aşıyorum,

Yoksa ; soruyu sor - cevabı al arşive at, mantığı ile çalışmıyorum,

Örneğin ; mesajınızda önce önerdiğiniz "Döngü ile yapabilirsiniz" önerinizde, for next döngüsü ve benzeri konuları, nette inceledim, videolarını izledim, bu arada siz çözüm kodunu eklediniz,

Çözüme ulaşamayacağımı anlayınca, forum'dan destek almak adına, isteklerim oluyor,

Bazen çok basit olan, ancak gözden kaçanların da çözüm arayışına girdiğim olmuştur,

İmzamdaki son ifade için de şöyle söyleye bilirim ;

Onca mesaj içinde, çözüm arayışlarım olduğu gibi, çözüm önerileri içeren ve/veya çözüm ürettiğim sorular da olmuştur, tabi kendi çapımda.

Bir çok üyenin çözüm arayışına önerdiklerim için ;

"Başkası İçin Bir Şey Yapmayacaksan ? Var Olmanın Anlamı Ne " sorgusunun tezahürü diyebilirim.

Elbette makro ile kodlama konusunda daha çok şeyler öğrenmek, çok çok pratik yapıp ilerlemek çok hoş olacaktır, inanın ben bu konuda elimden geldiğince çaba sarf ediyorum, tabi bir yere kadar...

Tüm sabrınız ve nezaketinizle ürettiğiniz çözüm ve önerileriniz için, tekrar teşekkür ederim.

Saygılarımla.
 
Geri
Üst