Часто бывает, что в тексте вместо русских букв (А, В, Е, К, М, Н, О, Р, С, Т) случайно введены буквы латинской раскладки клавиатуры. В результате слова, например, сtол содержат ошибку. А если все буквы прописные (СTОЛ), то ошибку вовсе не заменить.
Это было бы не так уж и страшно, но выполнять поиск слов или пользоваться сортировкой в таком тексте не представляется возможным.
Для удаления таких ошибок служит функция =УБРАТЬСЛУЧЛАТИН(ТЕКСТ). Она быстро заменит латинские буквы на русские.
Внимание! Не путайте ее с функцией обратной транслитерации. Так как она не переводит b в б, p в п. Функция именно исправляет "Опечатки", т.е b переводится в в, p в р и так далее.
Функция имеет один аргумент
Ниже приведен пример работы данной формулы.
Замена латинских букв на русские.
Функция входит в состав надстройки 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