ВВЕРХ

Поиск латинских букв в кириллическом тексте и наоборот

Описание

Зачастую приходится сталкиваться с попаданием латинских (английских) букв в текст, написанный кириллицей (на украинском или русском). Такое часто бывает при анализе и обработке текстовой информации из баз данных, куда, в свою очередь, заводили текст операторы, не успевшие вовремя перейти на новую раскладку клавиатуры.

Итак, нам нужен механизм, как найти кириллицу в латинице или, наоборот, найти латиницу в кириллице. У Excel нет стандартных инструментов для таких целей. Ниже вы найдете готовый макрос на VBA, который производит поиск латинских букв в тексте, написанном кириллицей и наоборот.


Перед использованием этого макроса необходимо добавить код VBA в вашу книгу. Для этого:

  1. Нажмите ALT+F11, чтобы открыть редактор Visual Basic
  2. Добавьте новый пустой модуль через меню Insert - Module
  3. Скопируйте и вставьте в модуль код макроса.
  4. Сохраните файл и вернитесь к Excel.

Теперь вы можете выделить диапазон ячеек, запустить макрос и таким образом проверить текст на наличие инородных символов.

Поиск латиницы в кириллице

Код макроса для поиска латинских букв:

Sub ShowLatin()
  'moonexcel.com.ua
   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 = 3
   Next i, c
End Sub

Результат проверки текста на латиницу:

Поиск кириллицы в латыни

Код макроса для поиска кириллических букв:

Sub ShowCyrylic()
  'moonexcel.com.ua
   Dim c As Range, i As Long
   
   For Each c In Selection
     For i = 1 To Len(c)
       If Mid$(c, i, 1) Like "[А-Яа-я]" Then c.Characters(Start:=i, Length:=1).Font.ColorIndex = 3
   Next i, c
End Sub

Результат проверки текста на кириллицу:

Статьи по теме:

  • Транслитерация с украинского на английский