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

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

dEdE

Destek Ekibi
Destek Ekibi
Katılım
1 Temmuz 2005
Mesajlar
2,607
Excel Vers. ve Dili
Ofis 2013 TR 64 Bit
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
 

tahsinanarat

Altın Üye
Katılım
14 Mart 2005
Mesajlar
2,167
Excel Vers. ve Dili
Ofis 2019 Türkçe
Altın Üyelik Bitiş Tarihi
27-05-2028
Sn. dede, sn nadogan'dan önce ben teşekkür edeyim, güzel bir çalışma arşvime aldım. Teşekkürler.
 

tahsinanarat

Altın Üye
Katılım
14 Mart 2005
Mesajlar
2,167
Excel Vers. ve Dili
Ofis 2019 Türkçe
Altın Üyelik Bitiş Tarihi
27-05-2028
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
 

pristineli45

Banned
Katılım
31 Aralık 2012
Mesajlar
130
Excel Vers. ve Dili
Excel2003 Türkçe
Ayrıca butonsuz çalıştıramadım. Hata bende sanırım. Yazıldığı anda renklenebilir mi?
 

tahsinanarat

Altın Üye
Katılım
14 Mart 2005
Mesajlar
2,167
Excel Vers. ve Dili
Ofis 2019 Türkçe
Altın Üyelik Bitiş Tarihi
27-05-2028
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
 
Katılım
2 Ocak 2012
Mesajlar
5
Excel Vers. ve Dili
Microsoft Office excel 2003 sp 3 Türkçe
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.
 
Katılım
2 Ocak 2012
Mesajlar
5
Excel Vers. ve Dili
Microsoft Office excel 2003 sp 3 Türkçe
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.
 
Katılım
2 Ekim 2012
Mesajlar
75
Excel Vers. ve Dili
2007 Türkçe
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.
 

dEdE

Destek Ekibi
Destek Ekibi
Katılım
1 Temmuz 2005
Mesajlar
2,607
Excel Vers. ve Dili
Ofis 2013 TR 64 Bit
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:

pristineli45

Banned
Katılım
31 Aralık 2012
Mesajlar
130
Excel Vers. ve Dili
Excel2003 Türkçe
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.
 

pristineli45

Banned
Katılım
31 Aralık 2012
Mesajlar
130
Excel Vers. ve Dili
Excel2003 Türkçe
Dede kardeş son yazdığım notu görmedi eminim. Yoksa hemen yanıtlardı biliyorum. Anımsaması için tekrar güncelliyorum
 

dEdE

Destek Ekibi
Destek Ekibi
Katılım
1 Temmuz 2005
Mesajlar
2,607
Excel Vers. ve Dili
Ofis 2013 TR 64 Bit
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?
 

pristineli45

Banned
Katılım
31 Aralık 2012
Mesajlar
130
Excel Vers. ve Dili
Excel2003 Türkçe
Üstadım dediğin doğru. Sorun yok. Tekrar teşekkürler
 
Üst