Страницы: 1
RSS
Менять цвет определенных букв в ячейке
 
Доброго времени суток. во общем такой вопрос.
посредством vba нужен макрос, который ищет определенные буквы в ячейках (например: ман) и  если данные буквы присутствует в таком порядке то закрашивает только их  в определенный цвет(красный) а если не в таком порядке то, не меняет не надо.
 
Доброе время суток
Цитата
azma написал:
букву в ячейках (например: ман)
Вы уверены, что ман - это буква?
 
Андрей VG,

честно вас не понял, к чему Вы клоните?
я взял МАН как пример, можно и другое, головное для меня прядок бук в слове
Изменено: azma - 08.06.2020 08:04:22
 
Андрей VG,  Андрей, привет. Да норм все
https://unicode-table.com/ru/10DB/ :-)
По вопросам из тем форума, личку не читаю.
 
Цитата
БМВ написал:
Да норм все
Привет, Михаил.
Вот когда в примере будут буквы грузинского алфавита, тогда соглашусь. А так, считаю пример эталоном того что есть и того что должно быть. Все умолчания трактую в удобную для себя сторону.
Цитата
azma написал:
прядок бук в слове
Вот так-то оно лучше. :)  Вариант.
Код
Public Sub ColorizeCharSequence()
    Const thatChars = "ман"
    Dim LRow As Long, i As Long, startPosition As Long
    LRow = ActiveSheet.Cells(ActiveSheet.Rows.Count, 1).End(xlUp).Row
    For i = 2 To LRow
        startPosition = InStr(1, ActiveSheet.Cells(i, 1).Value, thatChars, vbBinaryCompare)
        If startPosition > 0 Then
            ActiveSheet.Cells(i, 1).Characters(startPosition, Len(thatChars)).Font.Color = vbRed
        End If
    Next
End Sub
Изменено: Андрей VG - 08.06.2020 08:18:14
 
Здравствуйте. Вот попробуйте.
Код
Sub CharColor()
    Dim Cell As Range, i As Integer, strString As String
    strString = "ман" ' Искомый текст
    For Each Cell In Selection
        If InStr(1, Cell, strString) <> 0 Then
            i = InStr(1, Cell, strString)
            Cell.Characters(i, Len(strString)).Font.Color = rgbRed
        End If
    Next Cell
End Sub

Изменено: DANIKOLA - 08.06.2020 08:31:12
 
Цитата
DANIKOLA написал:
(i, 3)
Коллега, вы уверены, что ТС догадается при смене требуемой последовательности букв, что нужно ещё и тут код править?
 
Андрей VG, думаю никто не может быть уверен. Макрос улучшен.
Изменено: DANIKOLA - 08.06.2020 08:33:02 (Улучшен макрос в №6)
 
Андрей VG,
спасибо! прекрасно работает.
а можно сделать так чтобы можно было  передать Const thatChars = "ман" через inputBox
спасибо я разабрался
Изменено: azma - 08.06.2020 09:23:08
 
Цитата
azma написал:
можно сделать так чтобы можно было
Да, можно.
Страницы: 1
Наверх