Excelde yazarken renk değiştirme

Katılım
1 Mayıs 2006
Mesajlar
17
Kolay gelsin, excelde bir hücrede yazı yazarken belli bir karakter sonra otomatik renk değişimini sağlayabilir miyiz? Mesela "dünyayı gezmek istiyorum" yazarken istiyorum kelimesi kırmızı olsun gibi.
Teşekkürler.

İyi günler.
 

Murat OSMA

Altın Üye
Altın Üye
Katılım
23 Mayıs 2011
Mesajlar
5,508
Excel Vers. ve Dili
Microsoft 365 TR-EN
Altın Üyelik Bitiş Tarihi
31-12-2028
Yazarken değil de, yazdıktan sonra olabilir.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,274
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Sayfanızın kod bölümüne uygulayıp deneyiniz.

A1:A100 arasına veri girişi yapıp hücreden çıktığınızda kod çalışır. Son kelimeyi kırmızı yapar.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, Range("A1:A100")) Is Nothing Then Exit Sub
    Target.Font.ColorIndex = 0
    If Target <> "" Then
        Say = Evaluate("=MAX(IF(MID(""" & Target.Text & """,ROW(1:1024),1)="" "",ROW(1:1024)))")
        Target.Characters(Say, Len(Target) - Say + 1).Font.ColorIndex = 3
    End If
End Sub
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,274
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Sayfa ismi üzerinde sağ klik yapın ve Kod Görüntüle seçeneğini seçin.
Karşınıza gelen beyaz pencereye önerdiğim kodu uygulayın.
Daha sonra excel sayfanıza dönün.
A1:A100 aralığına bir şeyler yazıp deneyin.
 

Murat OSMA

Altın Üye
Altın Üye
Katılım
23 Mayıs 2011
Mesajlar
5,508
Excel Vers. ve Dili
Microsoft 365 TR-EN
Altın Üyelik Bitiş Tarihi
31-12-2028
Alternatif;
Kod:
[FONT="Trebuchet MS"][SIZE="2"]Private Sub Worksheet_Change(ByVal Target As Range)
    [COLOR="DarkOrange"]kelime [/COLOR]= "[COLOR="red"]istiyorum[/COLOR]"
    [COLOR="Magenta"]bul [/COLOR]= [COLOR="red"]InStr[/COLOR](1, Target.Value, [COLOR="DarkOrange"]kelime[/COLOR])
    Target.[COLOR="red"]Characters[/COLOR]([COLOR="Magenta"]bul[/COLOR], [COLOR="red"]Len[/COLOR]([COLOR="DarkOrange"]kelime[/COLOR])).[COLOR="Blue"]Font.ColorIndex[/COLOR] = [COLOR="Red"]3[/COLOR]
End Sub[/SIZE][/FONT]
 
Katılım
1 Mayıs 2006
Mesajlar
17
Evet oldu, teşekkürler.
Peki belli bir karakter geçtikten sonra kırmızı olsun istiyorsak, boşlukları da sayarak belli bir miktar karakter geçtikten sonra kırmızı yapmak istiyorsak ne yapmalıyız? Mesela kırk karakter ( boşluklarla beraber )geçsin ama sonra yazdıklarımız kırmızı olsun.
Teşekkürler.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,274
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Aşağıdaki kodu deneyiniz.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, Range("A1:A100")) Is Nothing Then Exit Sub
    Target.Font.ColorIndex = 0
    If Len(Target) > 40 Then
        Target.Characters(41, 1024).Font.ColorIndex = 3
    End If
End Sub
 
Katılım
1 Mayıs 2006
Mesajlar
17
Oldu, çok teşekkür ederim...
 
Üst