• DİKKAT

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

cümlenin belli bir bölümünün reklendirilmesi

  • Konbuyu başlatan Konbuyu başlatan nadogan
  • Başlangıç tarihi Başlangıç tarihi
Katılım
2 Ocak 2012
Mesajlar
5
Excel Vers. ve Dili
Microsoft Office excel 2003 sp 3 Türkçe
Renk yazarak arama yaptım.Bulduklarım hep hücreyi renklendiriyor.Ben ise A sütunundaki veri C sütunundaki cümlede geçiyorsa tüm hücreyi değil sadece cümlenin A sütunundaki kadar yeri renkli yazılsın istiyorum.Elle yaptığım örnek ektedir.Bu otomatik olarak nasıl yapılır.Çünkü çok büyük bir dosyaya uygulayacağım.
 

Ekli dosyalar

Merhaba,
Aşağıdaki kodu kullanabilirsiniz.
Kod:
Sub BulBoya()
For i = 2 To Range("A" & Rows.Count).End(3).Row
Set Aranan = Cells(i, 3).Find(Cells(i, 1).Value, , xlValues, xlPart)
    If Not Aranan Is Nothing Then
        p = WorksheetFunction.Search(Cells(i, 1), Cells(i, 3))
        x = Len(Cells(i, 1).Value)
        Cells(i, 3).Characters(p, x).Font.ColorIndex = 3
    End If
Next
End Sub
 
Sn. dede, sn nadogan'dan önce ben teşekkür edeyim, güzel bir çalışma arşvime aldım. Teşekkürler.
 
Sn. dEdE, A sutununda yazılı olan kelime c sutununda cümle içinde birden fazla geçmesi halinde hepsinin boyanması için nasıl bir değişiklik yapmalıyız. Teşekkürler
 
Ayrıca butonsuz çalıştıramadım. Hata bende sanırım. Yazıldığı anda renklenebilir mi?
 
Sn. pristineli45 sayfanın kod bölümüne yapıştırarak şu şekilde deneyiniz.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
For i = 2 To Range("A" & Rows.Count).End(3).Row
Cells(i, 3).Characters.Font.ColorIndex = 1
Set Aranan = Cells(i, 3).Find(Cells(i, 1).Value, , xlValues, xlPart)
    If Not Aranan Is Nothing Then
        p = WorksheetFunction.Search(Cells(i, 1), Cells(i, 3))
        x = Len(Cells(i, 1).Value)
        Cells(i, 3).Characters(p, x).Font.ColorIndex = 3
    End If
Next
End Sub
 
Sayın DeDe ve konuyla ilgilenen tahsinanarat çok teşekkür ederim.Çok acemi olduğum için yazdığınız cevabın nasıl uygulanacağını bilmiyorum ama araştırarak bulmaya çalışacağım.Yine tekrar tekrar teşekkür ederim.Cevap alacağımı hiç ummuyordum.
 
excel 2007 de görünüm/makrolar/makroları görüntüle kısmına girdim.Makro adı yerine dene yazdım ve aktif hale gelen oluştur seçeneğine girdim.burada yazılan herşeyi silip sizin yazdığınız tüm kodu kopyaladım.Bu visual basicteki excel tuşuna basınca excele geçti.tekrar görünüm/makrolar/makroları görüntüle kısmına girince makro ismi bul boya olarak değişmiş ve çalıştır kısmı aktif olmuş.çalıştır deyince bütün isteklerim gerçekleşti.Çok teşekkürler.Ancak tahsinanarat a yazdığınız eklemeyi yapamadım.Neresine ek yapılacak bulamıyorum.İlgilenmeseniz bile ek yapmadan da kullanabilirim.Çok çok çok teşekkürler.
 
excel 2007 de görünüm/makrolar/makroları görüntüle kısmına girdim.Makro adı yerine dene yazdım ve aktif hale gelen oluştur seçeneğine girdim.burada yazılan herşeyi silip sizin yazdığınız tüm kodu kopyaladım.Bu visual basicteki excel tuşuna basınca excele geçti.tekrar görünüm/makrolar/makroları görüntüle kısmına girince makro ismi bul boya olarak değişmiş ve çalıştır kısmı aktif olmuş.çalıştır deyince bütün isteklerim gerçekleşti.Çok teşekkürler.Ancak tahsinanarat a yazdığınız eklemeyi yapamadım.Neresine ek yapılacak bulamıyorum.İlgilenmeseniz bile ek yapmadan da kullanabilirim.Çok çok çok teşekkürler.

Sn. tahsinanarat'ın yazdığı bu kodu kopyalayın,

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
For i = 2 To Range("A" & Rows.Count).End(3).Row
Cells(i, 3).Characters.Font.ColorIndex = 1
Set Aranan = Cells(i, 3).Find(Cells(i, 1).Value, , xlValues, xlPart)
    If Not Aranan Is Nothing Then
        p = WorksheetFunction.Search(Cells(i, 1), Cells(i, 3))
        x = Len(Cells(i, 1).Value)
        Cells(i, 3).Characters(p, x).Font.ColorIndex = 3
    End If
Next
End Sub

Daha sonra sonra Sayfa1 sekmesine (sayfanın altında Sayfa1, Sayfa2, Sayfa3 olarak görülen sekmeler) sağ tıklayın ve açılan menü listesinde "Kod Görüntüle" ye tıklayın. Açılan VBA penceresinde sağdaki boş büyük alana (solda project explorer penceresi vardır) bu kodu yapıştırın. Sonra VBA penceresini kapatarak çalışma sayfanızda denemenizi yapın çalıştığını göreceksiniz. Ben denedim çalışıyor.
 
Sn. dEdE, A sutununda yazılı olan kelime c sutununda cümle içinde birden fazla geçmesi halinde hepsinin boyanması için nasıl bir değişiklik yapmalıyız. Teşekkürler

Merhaba,
Uyarınız için teşekkürler. Bu aklıma gelmemişti.
Bir butona bağlayarak istenildiği zaman çalıştırılabilen kod:
Kod:
Sub BulBoya()
On Error Resume Next
For i = 2 To Range("A" & Rows.Count).End(3).Row
q = 1
    x = Len(Cells(i, 1).Value)
    Do
        p = WorksheetFunction.Search(Cells(i, 1), Cells(i, 3), q)
        Cells(i, 3).Characters(p, x).Font.ColorIndex = 3
        q = p + x
    Loop While Not IsError(WorksheetFunction.Search(Cells(i, 1), Cells(i, 3), q))
Next
End Sub
 
Son düzenleme:
Tahsin kardeş.İlgine teşekkür ederim. Dede kardeşin verdiği kodlar çalışıyor. Fakat yine bende mi bir hata anlayamadım. A sütununa ismi yazıp c sütununa yazmaya başladım mı daha yazarken hepsi kırmızı renkte yazıyor. Daha sonra yazılanları siyah yapıyorum ve butona basınca istenilen sonuç alınıyor. Yani A sütununda yazılı isimler kırmızı renge boyanıyor.
 
Dede kardeş son yazdığım notu görmedi eminim. Yoksa hemen yanıtlardı biliyorum. Anımsaması için tekrar güncelliyorum
 
Dede kardeş son yazdığım notu görmedi eminim. Yoksa hemen yanıtlardı biliyorum. Anımsaması için tekrar güncelliyorum

Merhaba,
Görmediğim doğru.
Ancak sorunu anlayamadım. Yazdığım kodda bir sorun yok. Zaten sizde bunu söylüyorsunuz. (Dede kardeşin verdiği kodlar çalışıyor)
C sütununuz daha önceden kırmızı yazacak şekilde biçimlendirilmiş olabilir mi?
 
Üstadım dediğin doğru. Sorun yok. Tekrar teşekkürler
 
Geri
Üst