Metin içindeki rakamı renklendirme

Katılım
9 Aralık 2006
Mesajlar
134
Excel Vers. ve Dili
microsoft office professional plus 2010 TR
Eğer(ara(2;1/(lst!$e$5:$e$292=$c22)/(lst!$f$5:$f$292=$g$4);lst!$ı$5:$ı$292)<=0;"ödeme yaptı";eğer(ara(2;1/(lst!$e$5:$e$292=$c22)/(lst!$f$5:$f$292=$g$4);lst!$ı$5:$ı$292)>0; ara(2;1/(lst!$e$5:$e$292=$c22)/(lst!$f$5:$f$292=$g$4);lst!$ı$5:$ı$292) &" tl ödemesi var"))

şeklinde bir formülüm var formül sonucu örneğin
''500 tl ödemesi var'' olsun buradaki ''500 tl'' kısmını renkli yazsın istiyorum. Birçok örneğe baktım ama bulamadım.
şimdiden emeğinize sağlık
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,247
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Formülle gelen veriyi renklendiremezsiniz.
 
Katılım
9 Aralık 2006
Mesajlar
134
Excel Vers. ve Dili
microsoft office professional plus 2010 TR
Saygıdeğer hocam bunu macro vasıtasıyla yapmamız mümkün mü peki
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,247
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Örnek dosyanızı eklerseniz yardımcı olabilirim.
 
Katılım
23 Nisan 2011
Mesajlar
283
Excel Vers. ve Dili
Excel 2010 - Türkçe
Altın Üyelik Bitiş Tarihi
02.01.2019
Merhaba, ben soruyla uğraştım fakat yapamadım, cevabı da merak ediyorum,
A1 hücresinde ''500 tl ödemesi var'' yazıyorsa bunu nasıl renklendirebiliriz?
 

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,334
Excel Vers. ve Dili
2007 Türkçe
Eğer A1 hücresinde metin olarak ''500 tl ödemesi var'' yazıyorsa "500 tl" kısmını renklendirmek için aşağıdaki kodlar kullanılabilir.
Kod:
Sub sayi_renklendir()
a = [A1]
For i = 1 To Len(a)
If IsNumeric(Mid(a, i, 1)) Then [A1].Characters(i, 1).Font.ColorIndex = 3
If Mid(a, i, 4) = " tl " Then [A1].Characters(i, 3).Font.ColorIndex = 3
Next
End Sub
 
Katılım
23 Nisan 2011
Mesajlar
283
Excel Vers. ve Dili
Excel 2010 - Türkçe
Altın Üyelik Bitiş Tarihi
02.01.2019
Teşekkürler Sn. mucit77.
 

tahsinanarat

Altın Üye
Katılım
14 Mart 2005
Mesajlar
2,164
Excel Vers. ve Dili
Ofis 2019 Türkçe
Altın Üyelik Bitiş Tarihi
27-05-2028
Saadece a1 hücresi değilde a sutundakilerin hepsi

Sn. mucit77; A1 hücresi değilde A sutunu için olursa kodda nasıl bir değişiklik olurdu
Eğer A1 hücresinde metin olarak ''500 tl ödemesi var'' yazıyorsa "500 tl" kısmını renklendirmek için aşağıdaki kodlar kullanılabilir.
Kod:
Sub sayi_renklendir()
a = [A1]
For i = 1 To Len(a)
If IsNumeric(Mid(a, i, 1)) Then [A1].Characters(i, 1).Font.ColorIndex = 3
If Mid(a, i, 4) = " tl " Then [A1].Characters(i, 3).Font.ColorIndex = 3
Next
End Sub
 
E

ExcelF1

Misafir
Sayın mucit77'nin kodlarını şu şekilde revize ederek deneyiniz.

Kod:
Sub sayi_renklendir()
For b = 1 To [A65536].End(xlUp).Row
a = Cells(b, 1)
For i = 1 To Len(a)
If IsNumeric(Mid(a, i, 1)) Then Cells(b, 1).Characters(i, 1).Font.ColorIndex = 3
If Mid(a, i, 4) = " tl " Then Cells(b, 1).Characters(i, 3).Font.ColorIndex = 3
Next
Next
End Sub
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,247
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Alternatif;

Kod:
Sub Renklendir()
    Range("A:A").Font.ColorIndex = 0
    Range("A:A").Font.Bold = False
    Range("A:A").Font.Size = 10
    
    For X = 1 To Cells(Rows.Count, 1).End(3).Row
        Say = InStr(1, Cells(X, 1), "TL")
        If Say > 0 Then
            Cells(X, 1).Characters(1, Say + 1).Font.ColorIndex = 3
            Cells(X, 1).Characters(1, Say + 1).Font.Bold = True
            Cells(X, 1).Characters(1, Say + 1).Font.Size = 14
        End If
    Next

    MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub
 

tahsinanarat

Altın Üye
Katılım
14 Mart 2005
Mesajlar
2,164
Excel Vers. ve Dili
Ofis 2019 Türkçe
Altın Üyelik Bitiş Tarihi
27-05-2028
Sn. Korhan hocam sizin kodlar TL den öncesinin tamamını renklendiriyor, Bilgilerinize.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,247
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Evet.

Çünkü sorulan sorudaki ifade "500 TL ÖDEMESİ VAR" şeklindeydi. Doğal olarak önerdiğim kodlar doğru sonuç verir.
 

tahsinanarat

Altın Üye
Katılım
14 Mart 2005
Mesajlar
2,164
Excel Vers. ve Dili
Ofis 2019 Türkçe
Altın Üyelik Bitiş Tarihi
27-05-2028
Sn. Korhan hocam siz haklısınız, peki Tahsin ANARAT'ın 500 TL ödemesi var olsaydı, saadece 500 rakamını renkli yapılabilirmiydi, saygılar.
 

Korhan Ayhan

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

Kod:
Sub Renklendir()
    Range("A:A").Font.ColorIndex = 0
    Range("A:A").Font.Bold = False
    Range("A:A").Font.Size = 10
    
    For X = 1 To Cells(Rows.Count, 1).End(3).Row
        Data = Split(Cells(X, 1), " ")
        Ilk = 0
        For Y = 0 To UBound(Data)
            If IsNumeric(Data(Y)) Then
                Cells(X, 1).Characters(Ilk, Len(Data(Y)) + 4).Font.ColorIndex = 3
                Cells(X, 1).Characters(Ilk, Len(Data(Y)) + 4).Font.Bold = True
                Cells(X, 1).Characters(Ilk, Len(Data(Y)) + 4).Font.Size = 14
                Ilk = Ilk + Len(Data(Y)) + 1
            Else
                Ilk = Ilk + Len(Data(Y)) + 1
            End If
        Next
    Next

    MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub
 
Katılım
23 Nisan 2011
Mesajlar
283
Excel Vers. ve Dili
Excel 2010 - Türkçe
Altın Üyelik Bitiş Tarihi
02.01.2019
Merhaba, ben dün şöyle bir kod yazmıştım,
Kod:
Sub renklendir()
    ReDim dizi(1000, 1)
    
    For i = 1 To Len(Cells(1, 1))
        dizi(i - 1, 0) = Mid(Cells(1, 1), i, 1)
    Next
    For j = LBound(dizi) To UBound(dizi)
        If IsNumeric(dizi(j, 0)) Then
            dizi(j, 0).Characters(Start:=1, Length:=1).Font.ColorIndex = 3
            Cells(1, 3) = Cells(1, 3) & dizi(j, 0)
            Else
            Cells(1, 3) = Cells(1, 3) & dizi(j, 0)
        End If
    Next

End Sub
Kod, burada yazılanlara göre kötü fakat anlayamadığım bir nokta var.

Cells(1,1) 1x1 boyutlu bir dizi değil midir? Öyleyse neden dizi(j,0) yazdığımda "Object required" hatası veriyor?
 

ÖmerBey

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2012
Mesajlar
4,334
Excel Vers. ve Dili
2007 Türkçe
Cells(1,1) demek 1. satırdaki birinci hücre demek... O da = A1
 
Katılım
23 Nisan 2011
Mesajlar
283
Excel Vers. ve Dili
Excel 2010 - Türkçe
Altın Üyelik Bitiş Tarihi
02.01.2019
Merhaba, haklısınız aslında 1x1 boyutlu bir dizinin özelliklerini taşımıyor mu diye soracaktım fakat galiba ki taşımıyor. Halbuki formül yazarken oluyordu.
Mesala KAÇINCI(C1;A1:A2;0) ile KAÇINCI(C1;{"A"\"B"};0) sonuç veriyor ama demek ki makroda olmuyor.

Cevabınız için teşekkürler Sn. mucit77.
 

tahsinanarat

Altın Üye
Katılım
14 Mart 2005
Mesajlar
2,164
Excel Vers. ve Dili
Ofis 2019 Türkçe
Altın Üyelik Bitiş Tarihi
27-05-2028
Sn. Korhan hocam cevabınız için teşekkürler, harika oldu, elinize sağlık.
 

onder_09

Altın Üye
Katılım
17 Mart 2017
Mesajlar
206
Excel Vers. ve Dili
2016 türkçe
Altın Üyelik Bitiş Tarihi
19-07-2025
Merhaba kolay gelsin elimdeki excel dosyasındaki borç listesi sekmesindeki *** TL kısmının kırmızı ve kalın olmasını istiyorum. Metin tek sütun olması zorunda çünkü sms sistemindeki şablon o şekilde. Şimdiden teşekkürler yardımlarınız için.

 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,247
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Deneyiniz.

C++:
Sub Renklendir()
    Range("B:B").Font.ColorIndex = 0
    Range("B:B").Font.Bold = False
    Range("B:B").Font.Size = 11
    
    For X = 2 To Cells(Rows.Count, 2).End(3).Row
        If Cells(X, 1) = "" Then
            Cells(X, 2).Font.Bold = True
        Else
            Data = Split(Cells(X, 2), " ")
            Ilk = 0
            For Y = 0 To UBound(Data)
                If IsNumeric(Data(Y)) Then
                    Cells(X, 2).Characters(Ilk, Len(Data(Y)) + 4).Font.ColorIndex = 3
                    Cells(X, 2).Characters(Ilk, Len(Data(Y)) + 4).Font.Bold = True
                    Cells(X, 2).Characters(Ilk, Len(Data(Y)) + 4).Font.Size = 11
                    Ilk = Ilk + Len(Data(Y)) + 1
                Else
                    Ilk = Ilk + Len(Data(Y)) + 1
                End If
            Next
        End If
    Next

    MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub
 
Üst