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

Удалить латинские буквы

Данная функция убирает случайно введенный текст на латинице и заменяет его русскими буквами

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

Часто бывает, что в тексте вместо русских букв (А, В, Е, К, М, Н, О, Р, С, Т) случайно введены буквы латинской раскладки клавиатуры. В результате слова, например, сtол содержат ошибку. А если все буквы прописные (СTОЛ), то ошибку вовсе не заменить.

Это было бы не так уж и страшно, но выполнять поиск слов или пользоваться сортировкой в таком тексте не представляется возможным. 

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

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

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

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

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

Пример

Замена латинских букв на русские.

Пример 1 функции УБРАТЬСЛУЧЛАТИН

Код на VBA

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

'***********************************************************************************************************
' Procedure      : УБРАТЬСЛУЧЛАТИН
' Author         : Желтов Алексей
' Date           : 20.09.2014
' Purpose        : Убирает случайно введенный текст на латинице
'***********************************************************************************************************
Public Function УБРАТЬСЛУЧЛАТИН(ТЕКСТ As String) As String
 
    Dim Rus As Variant
    Dim Eng As Variant
    Dim i As Long
    Dim j As Long
    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 Eng(j) = simb Then
                simbtrans = Rus(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