Word' de ":" Kadar Kırmızı Yapma

Seyit Tiken

Uzman
Uzman
Katılım
23 Ağustos 2005
Mesajlar
4,651
Excel Vers. ve Dili
Excel : 2010
S.A,
Arkadaşlar, karakter sayısı(kelimenin karakter sayısı) değişen bir çalışma yapıyorum, ":" 'ye kadar kısmını kırmızı yapmak istiyorum, örnek olarak ; yazının başında olan Test : kısmını kodla kırmızı yapmak istiyorum, teşekkür ediyorum, Allah razı olsun.
 
Son düzenleme:
Katılım
6 Mart 2005
Mesajlar
6,238
Excel Vers. ve Dili
Excel Vers. ve Dili:
Office 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
22/12/2022
Sayfa kodu olarak kopyalayınız.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Bul As Long
say = Len(Target) - Len(WorksheetFunction.Substitute(Target, ":", ""))
If say > 0 Then
     Bul = WorksheetFunction.Find(":", Target.Text)
Target.Characters(Start:=1, Length:=Bul).Font.ColorIndex = 3
End If
End Sub
 
Son düzenleme:

Seyit Tiken

Uzman
Uzman
Katılım
23 Ağustos 2005
Mesajlar
4,651
Excel Vers. ve Dili
Excel : 2010
Sayın ÇITIR çok teşekkür ediyorum, Excel için değil, Word içindir.
 
Katılım
6 Mart 2005
Mesajlar
6,238
Excel Vers. ve Dili
Excel Vers. ve Dili:
Office 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
22/12/2022
Sayın Seyit Tiken;
Özür dilerim.Ben excel deki yazı için anladım.Word için nasıl olur bilmiyorum.Bilen bir arkadaş en kısa zamanda yazaçaktır umarım.
 

assenucler

Altın Üye
Katılım
19 Ağustos 2004
Mesajlar
3,521
Excel Vers. ve Dili
Ofis 365 TR 64 Windows 11 Home Single Language x64 TR
Altın Üyelik Bitiş Tarihi
29-05-2025
Bu konuya Sayın leumruk üstat el atacaktır.
 

Haluk

𐱅𐰇𐰼𐰚
Katılım
7 Temmuz 2004
Mesajlar
12,291
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Özel kişi
Sayın leumruk konuyla ilgilenene kadar, şimdilik aşağıdaki Word VBA kodlarını deneyebilirsiniz.

Bu kod, 1. mesajda verilen resimdeki örnekte belirtildiği gibi; Word dokümanının başından başlayarak, bulduğu ilk ":" karakterine kadar olan metnin rengini kırmızı yapar.

Kod:
Sub Test()
    Set myRange = ActiveDocument.Content
    myRange.Find.Execute FindText:=":"
    If myRange.Find.Found = True Then
        ActiveDocument.Range(Start:=0, End:=myRange.Start).Font.ColorIndex = wdRed
    End If
End Sub

Aşağıdaki kod ise; Word dokümanında sizin fareyle seçim yaptığınız alanın başından (ya da imlecin bulunduğu yerden) başlayarak, bulduğu ilk ":" karakterine kadar olan metnin rengini kırmızı yapar.

Kod:
Sub Test2()
    Set myRange = Selection
    xStart = Selection.Start
    myRange.Find.Execute FindText:=":"
    If myRange.Find.Found = True Then
        yEnd = myRange.Start
        ActiveDocument.Range(Start:=xStart, End:=yEnd).Font.ColorIndex = wdRed
    End If
End Sub

.
 
Son düzenleme:

Seyit Tiken

Uzman
Uzman
Katılım
23 Ağustos 2005
Mesajlar
4,651
Excel Vers. ve Dili
Excel : 2010
Haluk abe teşekkür ediyorum, ufak bir şey kaldı, ":"(iki nokta üst üste)'yi de kırmızı yaparsa tamam olur.

Word'ün kod prof'u sayın leumruk'tur.

Not : Sayın leumruk'un Excel 'Metin Kutusu' için yazmış olduğu kod aşağıdadır,
Kurcaladım Word'de uyarlayamadım. Bir fikir verebilir.

Kod:
With ActiveSheet.Shapes("TextBox 8").TextFrame2.TextRange
For x = 1 To .Characters.Count
If .Characters(x).Text = ":" Then
.Characters(1, x).Font.Fill.ForeColor.RGB = RGB(192, 0, 0)
Exit Sub
End If
Next
End With
 

Haluk

𐱅𐰇𐰼𐰚
Katılım
7 Temmuz 2004
Mesajlar
12,291
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Özel kişi
Önerdiğim 1. kod için aşağıda kırmızı renkle belirttiğim ilaveyi yapın;

Rich (BB code):
ActiveDocument.Range(Start:=0, End:=myRange.Start + 1).Font.ColorIndex = wdRed

2. kod için de aşağıdakini;

Rich (BB code):
ActiveDocument.Range(Start:=xStart, End:=yEnd + 1).Font.ColorIndex = wdRed
.
 
Son düzenleme:

Seyit Tiken

Uzman
Uzman
Katılım
23 Ağustos 2005
Mesajlar
4,651
Excel Vers. ve Dili
Excel : 2010
Haluk abe işlem tamam, çook teşekkür ediyorum, Allah razı olsun...
 

Haluk

𐱅𐰇𐰼𐰚
Katılım
7 Temmuz 2004
Mesajlar
12,291
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Özel kişi
Kolay gelsin...

.
 
Katılım
12 Aralık 2015
Mesajlar
1,200
Excel Vers. ve Dili
Türkçe Ofis 2007
Daha önce benzer bir çalışma yapmıştım. Alternatif olsun
Kod:
Sub Makro2()
For i = 1 To ActiveDocument.Words.Count
If ActiveDocument.Words(i) = ": " Then
 ActiveDocument.Words(i).Font.ColorIndex = wdRed
 ActiveDocument.Words(i - 1).Font.ColorIndex = wdRed
End If
Next
End Sub
 

Ali

Uzman
Katılım
21 Temmuz 2005
Mesajlar
7,894
Excel Vers. ve Dili
İş:Excel 2016-Türkçe
Haluk Bey tevazu göstermiş. Kendisi de kodlara takla attıran olarak tanınır hem Türkiye forumlarında hem yabancı forumlarda.
 
Üst