Поиск и выделение символов, не включенных в мой список - PullRequest
0 голосов
/ 29 мая 2018

Я работаю над кодом VBA, который находит и выделяет символы в столбце, которые я не указал в коде.Приведенный ниже код находит ячейку, только если она содержит символ, отличный от указанного в коде, но не выделяет этот конкретный символ.Может ли кто-нибудь помочь мне выделить этот конкретный символ, не указанный в коде

Sub ReplChars()
Dim sCharOK As String, s As String
Dim r As Range, rc As Range
Dim j As Long

sCharOK = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789,-.:;{}[]_"

Set r = Worksheets("Sheet1").UsedRange.SpecialCells(xlCellTypeConstants, xlTextValues)

' loop through all the cells with text constant values and paints in yellow the ones with characters not in sCharOK
For Each rc In r
    s = rc.Value
    For j = 1 To Len(s)
        If InStr(sCharOK, Mid(s, j, 1)) = 0 Then
            rc.Interior.Color = vbYellow
            Exit For
        End If
    Next j
Next rc

End Sub

Ответы [ 2 ]

0 голосов
/ 29 мая 2018

Сразу после или до окрашивания фона в желтый цвет, вы можете сделать это:

rc.Characters(j, 1).Font.Bold = True

Вы можете изменить тип шрифта, цвет, размер, сделать его курсивом или жирным.Я думаю, что Excel не позволяет случайно заполнить часть ячейки, но если вы измените цвет фона ячейки на желтый и выделите жирным шрифтом символы, ваш пользователь сможет заметить разницу.

0 голосов
/ 29 мая 2018

Вы можете попробовать эту строку в своем предложении If.Тем не менее, он не будет работать, если найден пробел.

rc.Characters(j, 1).Font.Color = vbRed
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...