Страницы: 1
RSS
Поиск в ячейках
 
Необходимо окрашивать ячейки в разные цвета в зависимости от текста в ней. Кириллица- один цвет, латиница- другой, подскажите, как можно это реализовать? С помощью макроса смог только сам текс покрасить
Изменено: Вячеслав Бондарев - 04.10.2022 18:58:16
 
Вячеслав Бондарев, файл-пример
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Jack Famous, Окрашивание такого вида должно происходить в автоматическом режиме
 
Jack Famous, Получилось найти вот такой макрос, но он окрашивает не саму ячейку, а только определенный символ. Пытаюсь понять, может можно через функцию реализовать
Код
Sub Показать_латиницу()
'показать латиницу
Dim c As Range, i As Long
For Each c In Selection
For i = 1 To Len(c)
If Mid$(c, i, 1) Like "[A-Za-z]" Then c.Characters(Start:=i, Length:=1).Font.ColorIndex = 4
Next i, c
End Sub
 
Вячеслав Бондарев, проверка по первым буквам через УФ
 
bigorq, Думал об этом, но еще есть условие - окрашивание клетки в желтый цвет, если в ячейке есть и кириллица и латиница, прошу прощения, забыл указать,
.
 
Код
Sub цвета()
For Each q In Selection
    x = 0: y = 0
    For i = 1 To Len(q)
        If x & y = "11" Then Exit For
        If Mid(q, i, 1) Like "[A-Za-z]" Then
            x = 1
        ElseIf Mid(q, i, 1) Like "[А-Яа-яЁё]" Then
            y = 1
        End If
    Next
    Select Case x & y
        Case "11": q.Interior.Color = vbYellow
        Case "01": q.Interior.Color = vbGreen
        Case "10": q.Interior.Color = vbRed
    End Select
Next
End Sub

Предложение по переименованию темы:
Цитата
Вячеслав Бондарев:  окрашивать ячейки в разные цвета в зависимости от текста в ней.

Вячеслав Бондарев, а как поступить с ячейками, в которых присутствует не-латиница и не-кириллица (цифры, знаки, ...) ?
Изменено: Бахтиёр - 05.10.2022 09:39:30
 
Вячеслав Бондарев, так?
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Бахтиёр, окрашивать их в синий цвет, например  
 
Бахтиёр, Like "*[A-Za-z]*"
По ссылке в #8 — рабочий вариант
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Вячеслав Бондарев,
Код
Sub цвета()
For Each q In Intersect(Selection, Selection.Parent.UsedRange)
    x = 0: y = 0: w = 0
    For i = 1 To Len(q)
        If w = 1 Then Exit For
        If Mid(q, i, 1) Like "[A-Za-z]" Then
            x = 1
        ElseIf Mid(q, i, 1) Like "[А-Яа-яЁё]" Then
            y = 1
        ElseIf Len(q) > 0 Then
            w = 1
        End If
    Next
    Select Case x & y & w
        Case "000"
        Case "110": q.Interior.Color = vbYellow
        Case "010": q.Interior.Color = vbGreen
        Case "100": q.Interior.Color = vbRed
        Case Else:  q.Interior.Color = vbBlue
    End Select
Next
End Sub
В выделенном диапазоне запускаете макрос.
Окрашивает ячейку:
1) В красный цвет - если в ячейке ТОЛЬКО буквы латиницы
2) В зелёный цвет - если в ячейке ТОЛЬКО буквы кириллицы
3) В жёлтый цвет - если в ячейке ТОЛЬКО буквы кириллицы И латиницы
4) В синий цвет - если в ячейке имеется ХОТЯ БЫ ОДИН знак - НЕ кириллица и НЕ латиница, то есть: цифра, знак(+-*/\.,"№;: ...), пробел, ...

Jack Famous,  8)  
Изменено: Бахтиёр - 06.10.2022 18:29:17
 
Бахтиёр, не заметил, что вы каждый символ проверяете…  :oops:
В таком случае, конечно, не надо

Можно вместо [А-Яа-яЁё] писать [А-яЁё], т.к. кириллица по порядку идёт  8)
Изменено: Jack Famous - 06.10.2022 18:44:28
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Спасибо большое всем за подсказки, очень сильно помогли.
 
Цитата
Вячеслав Бондарев: Спасибо большое всем за подсказки
с каких это пор готовый код считается подсказкой?  :D
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Только начинаю изучать exсel, с такой помощью-подсказкой намного проще освоить достаточно трудный для новичка материал. Но с высказыванием согласен  
Страницы: 1
Наверх