Добавление условного форматирования с макросом проверки электронной почты - PullRequest
0 голосов
/ 24 мая 2019

Я изначально нашел этот код здесь ссылка , и он прекрасно работает. Функция вызова находится в ячейке G56. Я хочу добавить к нему еще один уровень, чтобы он выделил объединенную ячейку («B56: F56») зеленым или красным цветом, исходя из того, что проверка была истинной / ложной.

Я собирался спросить у ОП, есть ли у них решение, но сайт меня не пускает. Я также попытался поместить условное форматирование в ячейки, когда они имеют значение true / false, чтобы изменить цвет, но это не работает.

Это в модуле 1

Function ValidateEmail(emailAddr As String) As Boolean

    Dim findAt As Long
    Dim findLastDot As Long
    Dim findSpace As Long

'   Default validate is true
    ValidateEmail = True 
                         '<<tried adding then range color selection here no luck 

    findAt = InStr(emailAddr, "@")
    findLastDot = InStrRev(emailAddr, ".")
    findSpace = InStr(emailAddr, " ")

'   Check for characters
    If (findAt = 0) Or (findLastDot = 0) Or (findSpace > 0) Then
        ValidateEmail = False
        Exit Function
    End If

'   Make sure amperand not first space
    If findAt = 1 Then
         ValidateEmail = False
        Exit Function
    End If

'   Make sure the last dot comes at least two spots after the ampersand
    If (findLastDot - 1) <= findAt Then
        ValidateEmail = False
        Exit Function
    End If

End Function

1 Ответ

2 голосов
/ 24 мая 2019

Вы можете применить CF к объединенной ячейке, но использовать возвращаемое значение из формулы VBA для форматирования (используя правило CF на основе формулы)

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...