Заказать макрос
Разрабатываем макросы на заказ. Любой сложности. Быстро и качественно.
Подробнее...
Готовые решения » Надстройка VBA-Excel » Убрать случайную кириллицу

Заменить русские буквы на английские в Excel

Функция УБРАТЬСЛУЧКИРИЛ убирает случайно введенный текст на русском и заменяет его английскими буквами

Описание функции

Часто бывает, что в тексте вместо английских букв (A, B, C, E, K, M, H, O, P, T) случайно введены буквы на русской раскладке. В результате слова, например, тable содержат ошибку. А если все буквы прописные (TABLE), то ошибку вовсе не заменить.

Такие ошибки накладывают ограничения на сортировку и поиск нужных данных. Для удаления этих ошибок служит функция =УБРАТЬСЛУЧКИРИЛ(ТЕКСТ), которая позволит заменить русские буквы на латинские.

Внимание! Не путайте ее с функцией транслитерации. Так как она не переводит б в b, п в p. Функция именно исправляет "Опечатки", т.е в переводится в b, т в t и так далее.

Функция  имеет один аргумент

  • ТЕКСТ - строка в которой необходимо заменить случайно введенные русские буквы на английские.

Ниже приведен пример работы данной формулы.

Пример замены русских букв на английские

Код на VBA

Функция входит в состав надстройки VBA-Excel. Ниже привожу код для изучения.

Public Function УБРАТЬСЛУЧКИРИЛЛ(ТЕКСТ As String) As String
    Dim Rus As Variant
    Dim Eng As Variant
    Dim i As Double
    Dim j As Double
    Dim simb As String
    Dim FindLatin As Boolean
    Dim simbtrans As String
    Dim MergeText As String

    Eng = Array("a", "b", "c", "e", "k", "m", "n", "h", "o", "p", "t", "u", "y", "A", "B", "E", "K", "M", "O", "P", "C", "T", "H", "Y")
    Rus = Array("а", "в", "с", "е", "к", "м", "н", "н", "о", "р", "т", "и", "у", "А", "В", "Е", "К", "М", "О", "Р", "С", "Т", "Н", "У")

    For i = 1 To Len(ТЕКСТ)
        simb = Mid(ТЕКСТ, i, 1)
        FindLatin = False
        For j = 0 To 21
            If Rus(j) = simb Then
                simbtrans = Eng(j)
                FindLatin = True
                Exit For
            End If
        Next
        If FindLatin Then MergeText = MergeText & simbtrans Else MergeText = MergeText & simb
    Next

    УБРАТЬСЛУЧКИРИЛЛ = MergeText
End Function
Надстройка
VBA-Excel
Надстройка для Excel содержит большой набор полезных функций, с помощью которых вы значительно сократите время и увеличите скорость работы с программой.

Комментарии:

comments powered by Disqus