Столкнулся с такой проблемой, иногда попадаются слова на кирилице, содержащие латиницу и наборот.
Есть несколько формул для определения символов. WrongWords показывает слова, в которых есть и латиница и кирилица. LookForEN, LookForRUorUA выдают неверные буквы. Возможно ли зделать, чтобы формула выдавала всю строку, но неверные символы закрашивались красным цветом (лучше сделать 2 шт, одну для латиницы, одну для кирилицы)?
[vba]
Код
Function WrongWords(ByVal txt As String) As String Application.Volatile True For Each word In Split(Trim(txt)) If word Like "*[A-z]*" And word Like "*[À-ÿ]*" Then ' [À-ÿ] = [А-я] WrongWords = WrongWords & ", " & word End If Next word If Len(WrongWords) Then WrongWords = Mid(WrongWords, 3) End Function
[/vba]
[vba]
Код
Function LookForEN(ByVal txt As String)
Dim arr(0 To 1) For i = 1 To Len(txt) letter = Mid$(txt, i, 1) If letter Like "[!À-ÿ]" Then arr(0) = arr(0) & letter ' [À-ÿ] = [А-я] If letter Like "[!A-z]" Then arr(1) = arr(1) & letter Next i arr(0) = Application.Trim(arr(0)): arr(1) = Application.Trim(arr(1)) LookForEN = arr End Function
Function LookForRUorUA(ByVal txt As String)
Dim arr(0 To 1) For i = 1 To Len(txt) letter = Mid$(txt, i, 1) If letter Like "[!A-z]" Then arr(0) = arr(0) & letter If letter Like "[!À-ÿ]" Then arr(1) = arr(1) & letter ' [À-ÿ] = [А-я] Next i arr(0) = Application.Trim(arr(0)): arr(1) = Application.Trim(arr(1)) LookForRUorUA = arr End Function
[/vba]
Всем привет!
Столкнулся с такой проблемой, иногда попадаются слова на кирилице, содержащие латиницу и наборот.
Есть несколько формул для определения символов. WrongWords показывает слова, в которых есть и латиница и кирилица. LookForEN, LookForRUorUA выдают неверные буквы. Возможно ли зделать, чтобы формула выдавала всю строку, но неверные символы закрашивались красным цветом (лучше сделать 2 шт, одну для латиницы, одну для кирилицы)?
[vba]
Код
Function WrongWords(ByVal txt As String) As String Application.Volatile True For Each word In Split(Trim(txt)) If word Like "*[A-z]*" And word Like "*[À-ÿ]*" Then ' [À-ÿ] = [А-я] WrongWords = WrongWords & ", " & word End If Next word If Len(WrongWords) Then WrongWords = Mid(WrongWords, 3) End Function
[/vba]
[vba]
Код
Function LookForEN(ByVal txt As String)
Dim arr(0 To 1) For i = 1 To Len(txt) letter = Mid$(txt, i, 1) If letter Like "[!À-ÿ]" Then arr(0) = arr(0) & letter ' [À-ÿ] = [А-я] If letter Like "[!A-z]" Then arr(1) = arr(1) & letter Next i arr(0) = Application.Trim(arr(0)): arr(1) = Application.Trim(arr(1)) LookForEN = arr End Function
Function LookForRUorUA(ByVal txt As String)
Dim arr(0 To 1) For i = 1 To Len(txt) letter = Mid$(txt, i, 1) If letter Like "[!A-z]" Then arr(0) = arr(0) & letter If letter Like "[!À-ÿ]" Then arr(1) = arr(1) & letter ' [À-ÿ] = [А-я] Next i arr(0) = Application.Trim(arr(0)): arr(1) = Application.Trim(arr(1)) LookForRUorUA = arr End Function