Страницы: 1
RSS
Поиск и выделение цветом одного из значений в ячейке
 
Добрый день, помогите, пожалуйста, не могу найти решение.
В столбце F надо найти все значения, например, содержащие 02.2025 и выделить цветом. возможно ли так сделать?
 
Цитата
Людмила Сыч написал:
содержащие 02.2025 и выделить цветом
так только макросом, а вот закрасить ячейку с этими значениями можно через УФ
 
Формула для условного форматирования
Код
=НЕ(ЕОШ(НАЙТИ("02.2025";$F4)))
 
bigorq, не подскажите как?
 
МатросНаЗебре, формула вводится в "создать правило"?
 
Набор макросов. Выделите диапазон. Запустите макросы.
Код
Option Explicit

Sub Поиск_и_выделение()
    FindJob "Select"
End Sub

Sub Поиск_и_заливка()
    FindJob "Color"
End Sub

Private Sub FindJob(sMode As String)

    Dim sFind As String
    sFind = InputBox("Введите искомую строку", "Поиск", "02.2025")
    If sFind = "" Then Exit Sub
    
    If TypeName(Selection) <> "Range" Then Exit Sub
    Dim rr As Range
    Set rr = GetRangeByString(Selection, sFind)
    If rr Is Nothing Then Exit Sub
    
    Select Case sMode
    Case "Select": rr.Select
    Case "Color": rr.Interior.Color = RGB(200, 255, 200)
    End Select
End Sub

Private Function GetRangeByString(rr As Range, sFind As String) As Range
    Dim ru As Range
    On Error Resume Next
    Set ru = Intersect(rr, rr.Parent.UsedRange)
    On Error GoTo 0
    If ru Is Nothing Then Exit Function
    
    Dim res As Range
    Dim cl As Range
    For Each cl In rr.Cells
        If InStr(cl.Value, sFind) > 0 Then
            myUnion res, cl
        End If
    Next
    Set GetRangeByString = res
End Function

Private Sub myUnion(ru As Range, cl As Range)
    If ru Is Nothing Then
        Set ru = cl
    Else
        Set ru = Union(ru, cl)
    End If
End Sub
 
Цитата
написал:
формула вводится в "создать правило"?
- выделите диапазон A4:J72
- Условное форматирование - Создать правило - Использовать формулу
- в поле "Форматировать значения, для которых следующая формула является истинной:" вставляете формулу
=НЕ(ЕОШ(НАЙТИ("02.2025";$F4)))
- кнопка "Формат" - выберите цвет
- OK - OK
- убедитесь, что в поле "Применяется к:" написано "=$A$4:$J$72"
- OK
 
спасибо Всем откликнувшимся!!!!
 
Цитата
написал:
=НЕ(ЕОШ(НАЙТИ("02.2025";$F4)))
Так это вся ячейка "отформатируется" (ну например если выбрать красный цвет шрифта) или отлько "02.2025 в красный закрасится а остальной текст в ячейке  останется черным?
Я видать автора не так понял - думал что он только 02.2025 хочет закрасить
Изменено: Sanim - 05.12.2024 17:05:58
 
Sanim, вы правильно думали, но сказали, что так нельзя. по-этому хоть ячейку покрасили)
 
Цитата
найти все значения, например, содержащие 02.2025 и выделить цветом
Код
Sub iColorFont()
Dim mo As Object
Dim n As Integer
Dim i As Long
Dim iLastRow As Long
iLastRow = Cells(Rows.Count, "F").End(xlUp).Row
 With CreateObject("VBScript.RegExp")
   .Global = True
   .MultiLine = True
   .Pattern = "02\.2025$"
  For i = 4 To iLastRow
     If .test(Cells(i, "F")) Then
       Set mo = .Execute(Cells(i, "F"))
         For n = 0 To mo.Count - 1
           Cells(i, "F").Characters(mo(n).FirstIndex + 1, mo(n).Length).Font.ColorIndex = 3
         Next
    End If
   Next
 End With
End Sub
Страницы: 1
Наверх