Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


blackeangel, интересные Вы там шаблоны ищете .

Примерно так:
Скрытый текст
Код: Выделить весь код
Option Explicit

Sub Sample()
    Dim strFindWhat As String
    Dim strFirstFoundAddress As String
    
    Dim objRange As Range
    
    Dim intFoundPosition As Integer
    
    
    strFindWhat = "ол"
    
    With ThisWorkbook.Worksheets.Item("Данные").UsedRange
        Set objRange = .Find( _
            What:=strFindWhat, _
            LookIn:=xlFormulas, _
            LookAt:=xlPart, _
            SearchOrder:=xlByRows, _
            SearchDirection:=xlNext, _
            MatchCase:=False, _
            SearchFormat:=False _
        )
        
        If Not objRange Is Nothing Then
            strFirstFoundAddress = objRange.Address
            
            Do
                intFoundPosition = InStr(1, objRange.Value, strFindWhat, vbTextCompare)
                
                Do While intFoundPosition > 0
                    objRange.Characters(intFoundPosition, Len(strFindWhat)).Font.Color = RGB(255, 0, 0)
                    intFoundPosition = InStr(intFoundPosition + 1, objRange.Value, strFindWhat, vbTextCompare)
                Loop
                
                Set objRange = .FindNext(After:=objRange)
            Loop Until objRange.Address = strFirstFoundAddress
        End If
    End With
End Sub

Естественно, вместо UsedRange Вы используете потребный Вам диапазон.
Это сообщение посчитали полезным следующие участники:

Отправлено: 04:41, 18-05-2016 | #6