metin içinde istenilen veriyi bulma

Emir Hüseyin Çoban

Destek Ekibi
Destek Ekibi
Katılım
11 Ağustos 2008
Mesajlar
5,892
Excel Vers. ve Dili
Office 2013 Tr - Win10 x64
. . .

Kod:
Sub KOD()
Application.ScreenUpdating = False

Range("C:C").Font.ColorIndex = 0

For i = 2 To [F65536].End(3).Row

If Cells(i, "F") <> "" Then

Set bul = Range("C:C").Find("*" & Cells(i, "F") & "*", , xlValues, xlWhole)
If Not bul Is Nothing Then
Range("C" & bul.Row).Font.ColorIndex = 3
End If
End If
Next i

Application.ScreenUpdating = True
MsgBox " B i t t i "
End Sub
. . .
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Merhaba,

Hüseyin Bey, çözümünüzü aşağıdaki gibi düzenlemek daha doğru olacaktır. Çünkü find komutunda bir döngü olmadığı için bir sonraki değeri aramadan devam eder. Örneğin C3 deki değeri C10 da tekrar ediyorsa bunu renklendirmez.

Kod:
Sub Renklendir()
 
    Dim i As Long, c As Range, Adr As String
 
    With Range("C:C")
        .Font.ColorIndex = 0
        For i = 2 To Cells(Rows.Count, "F").End(xlUp).Row
            Set c = .Find("*" & Cells(i, "F") & "*")
            If Not c Is Nothing Then
                Adr = c.Address
                Do
                    c.Font.ColorIndex = 3
                    Set c = .FindNext(c)
                Loop While Not c Is Nothing And c.Address <> Adr
            End If
        Next i
    End With
 
End Sub
.
 

Emir Hüseyin Çoban

Destek Ekibi
Destek Ekibi
Katılım
11 Ağustos 2008
Mesajlar
5,892
Excel Vers. ve Dili
Office 2013 Tr - Win10 x64
Merhaba,
Hüseyin Bey, çözümünüzü aşağıdaki gibi düzenlemek daha doğru olacaktır. Çünkü find komutunda bir döngü olmadığı için bir sonraki değeri aramadan devam eder. Örneğin C3 deki değeri C10 da tekrar ediyorsa bunu renklendirmez.
.
. . .

+1
Haklısınız Ömer Bey, bu çalışmalada mutlaka aranan değer birden fazla olacaktır.

. .
 
Üst