Как заменить латинские буквы на русские в excel

  • Формула транслита с помощью стандартных функций Excel
    • Формула на 64 уровня вложенности без заглавных Ъ и Ь
    • Скачать файл-шаблон с транслитерацией
    • Формулы транслита, итоги
  • Функция на VBA
  • Заменить русские буквы на английские в Excel и наоборот
Пример результата транслитерации в Excel

Как перевести кириллицу в транслит в Excel?

Технически транслитерация — это замена по списку значений — символов на определенные их эквиваленты в другой раскладке. Значит, и задача состоит в том, чтобы в Excel осуществить эту серию замен.

Удивительно, но сделать такую массовую замену и транслитерировать текст в Excel можно множеством способов. Обо всех подробнее далее.

Наименее изящное, тем не менее, самое простое решение задачи. В Excel для замены символов есть функция ПОДСТАВИТЬ (англ. SUBSTITUTE). Формула принимает на вход 4 аргумента:

  1. Текст для обработки, в котором будет производиться замена (текст);
  2. Заменяемый фрагмент (стар_текст);
  3. На что заменить (нов_текст);
  4. Какой по счету встреченный в значении фрагмент заменить. (номер_вхождения).
Синтаксис Excel формулы ПОДСТАВИТЬ

Четвертый параметр является опциональным и, если он не заполнен, заменяются все встреченные в тексте фрагменты.

Как раз то, что нам нужно! Поскольку Excel позволяет составлять сложные вложенные функции, мы можем сделать эту серию замен в одной много раз вложенной формуле.

Но есть несколько проблем, которые в сочетании не дают возможность сделать идеальную единую формулу транслита. Вот они:

  • В русском алфавите 33 буквы.
  • Идеальная формула транслита должна сохранять при замене регистр символов. Благо, функция “ПОДСТАВИТЬ” — регистрозависимая. Получается, что нужно делать не 33, а 66 замен. Но
  • в Excel есть ограничение количества уровней вложенности в одной формуле — 64.

Будь в русском алфавите хотя бы на одну букву меньше, мы бы уложились в ограничения Excel. Есть ли решение? Да, довольно простое.

Формула на 64 уровня вложенности без заглавных Ъ и Ь

Как правило, заглавные буквы в словах бывают, если это начало слова. Или если это аббревиатура, но аббревиатуры тоже составляются из первых букв слов.

А вы знаете слова, начинающиеся с Ъ или Ь? :)

Кажется, их можно пропустить. Так мы экономим два уровня вложенности и укладываемся в лимиты Excel (66 – 2 = 64)!

Важно также учитывать, что при транслитерации заглавных букв Ж, Ш, Ч, Щ и т.д., когда английский эквивалент состоит из нескольких букв, заглавной на латинице должна быть только первая. Интернет полон решениями, где этот момент не учтен. Итак, вот наиболее полная корректная формула:

=ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(
ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(
ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(
ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(
ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(
ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(
ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(
ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(
A1;
"А";"A");"Б";"B");"В";"V");"Г";"G");"Д";"D");"Е";"E");"Ё";"Yo");"Ж";"Zh");"З";"Z");"И";"I");"Й";"Y");
"К";"K");"Л";"L");"М";"M");"Н";"N");"О";"O");"П";"P");"Р";"R");"С";"S");"Т";"T");"У";"U");"Ф";"F");
"Х";"Kh");"Ц";"Ts");"Ч";"Ch");"Ш";"Sh");"Щ";"Sch");"Ы";"Y");"Э";"E");"Ю";"Yu");"Я";"Ya");"а";"a");
"б";"b");"в";"v");"г";"g");"д";"d");"е";"e");"ё";"yo");"ж";"zh");"з";"z");"и";"i");"й";"y");"к";"k");
"л";"l");"м";"m");"н";"n");"о";"o");"п";"p");"р";"r");"с";"s");"т";"t");"у";"u");"ф";"f");"х";"kh");
"ц";"ts");"ч";"ch");"ш";"sh");"щ";"sch");"ъ";"y");"ы";"y");"ь";"");"э";"e");"ю";"yu");"я";"ya")

Скачать файл-шаблон с транслитерацией

Формула выше на основе функции ПОДСТАВИТЬ с несколькими условиями может быть видоизменена – вместо явного прописывания текстовых значений, можно сделать ее на основе конкретных ячеек. Чем удобнее такой подход? Тем, что формулу менять не нужно, а данные для замены представлены в удобном для восприятия и редактирования формате в столбцах A и B.

Транслитерация с помощью таблицы замен и формулы с 64 уровнями вложенности

Транслитерация с помощью таблицы замен и формулы с 64 уровнями вложенности

По ссылке можно скачать файл-шаблон, в котором применены эти функции.

Формулы транслита, итоги

У подхода с созданием таких мега формул есть свои плюсы и минусы. Минус один – они громоздки и такое не так-то просто сходу набрать. Поэтому их нужно где-то хранить и копировать при необходимости.

Плюсы в основном происходят из недостатков VBA-кода:

  • Формулы листа железно сработают в любой версии Excel на любом компьютере, даже с самыми жесткими политиками защиты данных.
  • Они легко изменяются, если нужно переделать правила транслитерации, и довольно просты.
  • Транспортабельны, т.е. формулы не “слетят”, если их отправить кому-либо и открыть на другом компьютере.

Функция на VBA

Код пользовательской функции, которая транслитерирует строчные в строчные, а заглавные – в заглавные, и при этом транслитерирует заглавные буквы Ж, Ш, Х, Ч, Щ и подобные, делая в транслите заглавной только первую букву (Zh, Sh, Kh, Ch, Sch…).

Точь-в-точь эта функция присутствует в надстройке !SEMTools и доступна всем желающим – нужно только скачать и установить !SEMTools. Далее функцию можно применять как обычную функцию Excel на листе. Например, =Translit(A1)

Function Translit(x As String) As String
    cyr = "абвгдеёжзийклмнопрстуфхцчшщъыьэюя"
    lat = Array("", "a", "b", "v", "g", "d", "e", "e", "zh", "z", "i", "y", "k", _
        "l", "m", "n", "o", "p", "r", "s", "t", "u", "f", "kh", "ts", "ch", _
        "sh", "sch", "y", "y", "", "e", "yu", "ya")
    For i = 1 To 33
        x = Replace(x, Mid(cyr, i, 1), lat(i), , , vbBinaryCompare)
        x = Replace(x, UCase(Mid(cyr, i, 1)), StrConv(lat(i), vbProperCase), , , vbBinaryCompare)
    Next
    Translit = x
End Function

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

Надстройка !SEMTools предлагает помимо основного еще 4 варианта замены:

  1. Обратный транслит (из латиницы в кириллицу);
  2. “Смена раскладки” – asdf -> фыва;
  3. Замена букв с идентичным начертанием — кириллица в латиницу;
  4. Аналогичная замена английских букв, похожих на русские, на действительно русские.

Последние два пункта тесно связаны с ситуациями, когда удалось найти русские слова, содержащие латиницу или английские слова с кириллическими символами, и теперь нужно исправить такой текст.

Чтобы произвести транслитерацию, достаточно просто выделить столбец с данными и вызвать нужную процедуру. Данные изменятся на месте.

Транслитерация в !SEMTools

Нужно сделать транслитерацию русского на латиницу в Excel или наоборот?
Быстро решить эту и более 500 других задач поможет надстройка !SEMTools.

Транслит

Если Вам часто приходится переводить кириллицу в транслит (а попробуйте-ка сделать это для фамилии «Кржижановский», например), то эта функция — для Вас.

Откройте редактор Visual Basic (Alt+F11), вставьте через меню новый пустой программный модуль (Insert — Module) и скопируйте туда текст этой функции:

Function Translit(Txt As String) As String

    Dim Rus As Variant
    Rus = Array("а", "б", "в", "г", "д", "е", "ё", "ж", "з", "и", "й", "к", _
    "л", "м", "н", "о", "п", "р", "с", "т", "у", "ф", "х", "ц", "ч", "ш", _
    "щ", "ъ", "ы", "ь", "э", "ю", "я", "А", "Б", "В", "Г", "Д", "Е", _
    "Ё", "Ж", "З", "И", "Й", "К", "Л", "М", "Н", "О", "П", "Р", _
    "С", "Т", "У", "Ф", "Х", "Ц", "Ч", "Ш", "Щ", "Ъ", "Ы", "Ь", "Э", "Ю", "Я")

    Dim Eng As Variant
    Eng = Array("a", "b", "v", "g", "d", "e", "jo", "zh", "z", "i", "j", _
    "k", "l", "m", "n", "o", "p", "r", "s", "t", "u", "f", "kh", "ts", "ch", _
    "sh", "sch", "''", "y", "'", "e", "yu", "ya", "A", "B", "V", "G", "D", _
    "E", "JO", "ZH", "Z", "I", "J", "K", "L", "M", "N", "O", "P", "R", _
    "S", "T", "U", "F", "KH", "TS", "CH", "SH", "SCH", "''", "Y", "'", "E", "YU", "YA")
    
    For I = 1 To Len(Txt)
        с = Mid(Txt, I, 1)
    
        flag = 0
        For J = 0 To 65
            If Rus(J) = с Then
                outchr = Eng(J)
                flag = 1
                Exit For
            End If
        Next J
        If flag Then outstr = outstr & outchr Else outstr = outstr & с
    Next I
    
    Translit = outstr
    
End Function

Теперь на любом листе этой книги Вы можете использовать эту функцию, вставив ее через Мастер Функций:

  • в Excel 2003 и старше — через меню Вставка — Функция (Insert — Function)

  • в Excel 2007 и новее — через вкладку Вставка — Функция (Insert — Function)

 из категории Определенные пользователем (User defined):

translit.gif

В этом макросе варианты замены русских букв английскими эквивалентами представлены согласно ГОСТ. Если для вашей задачи нужны другие версии (например, русская «я» должна выводиться как «ja», а не как «ya» и т.д.), то можно свободно подкорректировать это в теле макроса. Как легко догадаться, два первых массива Rus и Eng как раз и кодируют эти подстановки.

Для новых версий Excel 2007-2010 и т.д. не забудьте сохранить вашу книгу как файл с поддержкой макросов (Macro Enabled Workbook), т.е. в формате XLSM.

Ссылки по теме

  • Макрос-переводчик
  • Преобразование русского текста в транслит с помощью надстройки PLEX

Транслитерация в excel довольно распространенная задача. Сделать транслит в Excel — значит, русские буквы превратить в английские или латинские

Часто неопытные пользователи делают транслитерацию в excel вручную, а более опытные используют многоэтажные формулы с подстановкой значений.

В этой статье мы научимся создавать небольшую пользовательскую функцию, которая умеет делать транслитерацию в Excel. В данном случае не нужно знать VBA, поскольку текст функции есть в статье, его можно просто скопировать.

Видео для тех, кто не любит читать

Итак, у нас есть таблица с ФИО сотрудников. Нужно сделать транслитерацию этих данных.

транслитерация в excel

1. Нажмем клавиши Alt + F11, чтобы перейти в редактор Visual Basic

2. В окне редактора Visual Basic перейдем в меню InsertModule

транслитерация в excel

3. Выделите следующий текст функции, скопируйте его (Ctrl + C) и вставьте в пустое окно модуля (Ctrl + V)

Function Translit(Txt As String) As String

 Dim Rus As Variant

 Rus = Array(«а», «б», «в», «г», «д», «е», «ё», «ж», «з», «и», «й», «к», _

 «л», «м», «н», «о», «п», «р», «с», «т», «у», «ф», «х», «ц», «ч», «ш», _

 «щ», «ъ», «ы», «ь», «э», «ю», «я», «А», «Б», «В», «Г», «Д», «Е», _

 «Ё», «Ж», «З», «И», «Й», «К», «Л», «М», «Н», «О», «П», «Р», _

 «С», «Т», «У», «Ф», «Х», «Ц», «Ч», «Ш», «Щ», «Ъ», «Ы», «Ь», «Э», «Ю», «Я»)

 Dim Eng As Variant

 Eng = Array(«a», «b», «v», «g», «d», «e», «jo», «zh», «z», «i», «j», _

 «k», «l», «m», «n», «o», «p», «r», «s», «t», «u», «f», «kh», «ts», «ch», _

 «sh», «sch», «»», «y», «‘», «e», «yu», «ya», «A», «B», «V», «G», «D», _

 «E», «JO», «ZH», «Z», «I», «J», «K», «L», «M», «N», «O», «P», «R», _

 «S», «T», «U», «F», «KH», «TS», «CH», «SH», «SCH», «»», «Y», «‘», «E», «YU», «YA»)

 For I = 1 To Len(Txt)

 с = Mid(Txt, I, 1)

 flag = 0

 For J = 0 To 65

 If Rus(J) = с Then

outchr = Eng(J)

 flag = 1

 Exit For

 End If

 Next J

 If flag Then outstr = outstr & outchr Else outstr = outstr & с

 Next I

 Translit = outstr

End Function

Обратите внимание, что в этом макросе знаки русского алфавита заменяются латиницей согласно ГОСТу. Если вам нужно, чтобы буквы заменялись иначе, измените их внутри макроса.

4. Закройте редактор Visual Basic. Данные сохранятся в нем автоматически.

5. Теперь установите курсор в первую ячейку, в которой нужно сделать транслитерацию. 

6. Перейдите на вкладку меню ФормулыВставить функцию.

транслитерация в excel

7. В выпадающем списке Категория выберите Определенные пользователем.

транслитерация в excel

8. Созданная для транслитерации функция называется Translit. Выделите ее и нажмите Ок.

транслитерация в excel

9. Установив курсор в поле Txt, щелкните по первой ячейке, для которой нужно сделать транслитерацию. Нажмите Ок.

транслитерация в excel

10. Скопируйте формулу до конца списка, потянув за нижний правый уголок выделенной ячейки. Транслитерация в Excel готова.

транслитерация в excel

Теперь транслитерация ячеек excel будет производиться макросом автоматически, достаточно указать или вызвать формулу =Translit(). Это удобно, если у вас большой список слов для транслитерации и вручную сделать это сложно. 


   Сообщество Excel Analytics | обучение Excel

    Канал на Яндекс.Дзен 

Как правильно настроить поиск и замену английских букв в русском тексте таблиц Excel

Одна из типовых ситуаций, с которой все мы однажды сталкиваемся, выглядит так: кто-то при наборе текстовой информации в ячейку случайно использовал английские буквы (латиницу) вместо русских (кириллицы). Допустить такую ошибку легко даже самим, особенно если учесть изощренное расположение некоторых символов (русская «С» и английская «С», например) в стандартной раскладке клавиатуры.

Использование символов латиницы в русском тексте порождает огромное количество проблем. От путаницы при банальной сортировке по алфавиту до некорректной консолидации данных при автоматическом объединении нескольких таблиц в одну. Выискивать похожие по виду символы и проверять, не являются ли они символами английской раскладки, крайне мучительно. Поэтому имеет смысл рассмотреть более изящные варианты решения этой задачи.

Способ 1. Шрифт без кириллицы

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

Шрифт без кириллицы

Шрифт без кириллицы

Способ 2. Подсветка латиницы красным цветом шрифта

Этот способ является продолжением и развитием предыдущей идеи и заключается в изменении цвета символов латиницы на красный с помощью небольшого макроса. Откройте редактор Visual Basic сочетанием клавиш Alt+F11, вставьте новый модуль (меню Insert – Module) и введите туда следующий код.

1
2
3
4
5
6
7
8
9
10
Sub ShowLatinRed()
For Each c In Selection
    For i = 1 To Len(c)
        If (Asc(Mid(c, i, 1)) >= 65 And Asc(Mid(c, i, 1)) <= 90) Or _
        (Asc(Mid(c, i, 1)) >= 97 And Asc(Mid(c, i, 1)) <= 122) Then
        c.Characters(Start:=i, Length:=1).Font.ColorIndex = 3
        End If
    Next i
Next c
End Sub

Теперь если выделить интересующий диапазон ячеек и запустить наш макрос с помощью сочетания клавиш Alt+F8 или через вкладку Разработчик → Макросы (Developer → Macros), то символы латиницы выделятся красным цветом шрифта.

Символы латиницы выделятся красным цветом

Символы латиницы выделятся красным цветом

Выделяйте только ячейки с текстом, а не весь столбец листа – это больше миллиона пустых ячеек, перебирать которые макрос будет долго.

Способ 3. Функция IsLatin на VBA

Если количество проверяемых ячеек велико, то визуальное определение станет затруднительным. Для таких случаев можно создать пользовательскую функцию (назовем ее, например, IsLatin), которая будет проверять, присутствуют ли в заданной ячейке символы английского алфавита, и выдавать в качестве результата логическое значение ИСТИНА или ЛОЖЬ.

Откройте редактор Visual Basic сочетанием клавиш Alt+F11, вставьте новый модуль (меню Insert → Module) и введите туда текст этой небольшой функции.

1
2
3
4
5
6
7
8
9
Function IsLatin(str As String) as Boolean
	str = LCase(str)
    LatinAlphbet = "*[abcdefghijklmnopqrstuvwxyz]*"
    If str Like LatinAlphbet Then
        IsLatin = True
    Else
        IsLatin = False
    End If
End Function

Как можно заметить, макрофункция использует интересный оператор Like языка Visual Basic, который проверяет наличие в исходном тексте любых символов из английского алфавита, предварительно преобразовав текст в нижний регистр с помощью функции LCase.

Теперь в Мастере функций в категории Определенные пользователем (User Defined) можно найти нашу функцию IsLatin и воспользоваться ею. Функция выдаст значение ИСТИНА (TRUE), если найдет в тексте аргумента хотя бы один символ латиницы. В противном случае функция вернет значение ЛОЖЬ (FALSE).

Функция выдаст значение ИСТИНА или ЛОЖЬ

Функция выдаст значение ИСТИНА или ЛОЖЬ

Замена латиницы на кириллицу

Если необходимо не просто обнаружить чужеродные английские буквы в русском массиве текста, а исправить символы латиницы на соответствующую им кириллицу, можно быстро сделать это с помощью макроса. Откройте редактор Visual Basic сочетанием клавиш Alt+F11, вставьте новый модуль (меню Insert → Module) и введите туда его текст.

1
2
3
4
5
6
7
8
9
10
11
12
13
Sub Replace_Latin_to_Russian()
    Rus = "асекорхуАСЕНКМОРТХ"
    Eng = "acekopxyACEHKMOPTX"
    For Each cell In Selection
        For i = 1 To Len(cell)
            c1 = Mid(cell, i, 1)
            If c1 Like "[" & Eng & "]" Then
                c2 = Mid(Rus, InStr(1, Eng, c1), 1)
                cell.Value = Replace(cell, c1, c2)
            End If
        Next i
    Next cell
End Sub

Теперь если выделить на листе диапазон и запустить наш макрос сочетанием клавиш Alt+F8 или на вкладке Разработчик → Макросы (Developer → Macros), то все английские буквы, найденные в выделенных ячейках, будут заменены на равноценные им русские. Только будьте осторожны, чтобы не заменить случайно нужную вам латиницу.

Просмотров: 235

Ставим задачу.

 При получении данных из таблиц с помощью ВПР или ИНДЕКС важное значение имеет тип данных и языковая раскладка, с помощью которой набрано название. И если для смены типа можно использовать встроенные функции Excel, то с шрифтом все не так просто. По крайней мере, если решать задачу в лоб, то формула получится достаточно громоздкой.Давайте рассмотрим, как выполняется замена символов в VBA.

Давайте решим эту проблему, используя возможности VBA, или – проще – возможности макросов.

Написание основного кода.

Вначале попробуем определить, какие именно знаки латинского алфавита похожи на русский и запишем их в виде строки

Получаем  такой код

Dim LatStr As String: LatStr = “EeOoPpAaXxCcMTHKB”

Как видим, таких знаков не так уж и много

Добавим соответствующие им символы кириллицы

Dim RusStr As String: RusStr = “ЕеОоРрАаХхСсМТНКВ”

Напоминаю, в первой строке все буквы латинские (английские, если вам так проще), а во второй – кириллица, то есть русские. Названия произвольны. Обратите внимание, что знаки, похожие по написанию, находятся на одинаковых местах. Логика тут следующая. Если один из знаков проверяемого текста совпадает с знаком из строки LatStr, то надо взять аналогичный знак из RusStr

Для этого назначим для проверяемой строки переменную TestString. К примеру, возьмем его из текущей ячейки

Dim TestString  as string: TestString=ActiveCell.Value

После этого начнем по очереди сравнивать каждый символ полученной строки с латиницей из LatStr.

Запускаем цикл для получения очередного знака из TestString.

Вначале объявим переменные хранения счетчиков циклов, а также очередных знаков из  TestString и LatStr. Так же зададим переменную типа строка для результата обработки NewString

Dim b as integer, J as integer, sValue as string, s1 as string, NewString as string

Запустим сам цикл

For j=1 to Len(TestString)

         sValue=Mid(TestString,j,1)

Теперь начнем так же в цикле сравнивать его со знаками из LatStr. Если такой знак отыщется, то меняем  найденный символ на соответствующий знак из RusStr.

For b=1 to Len(LatStr)

                         S1=mid(LatStr,b,1)

If  s1=SValue then SValue=Mid(RusStr,b,1)

Закрываем цикл сравнения и вернемся к проверке очередного знака.

Next b

В итоге, если буква была латинской, она заменится на соответствующую по написанию русскую, если нет –  знак остается прежним. Добавим полученный результат к некоей строке NewString.  Изначально наша переменная, как и любая другая, будет пустой, но после каждого прохождения цикла тестирования к ней будет добавляться очередной символ

 NewString=NewString & sValue

И закрываем цикл извлечения

Next j

Собираем код вместе.

В результате получили такой итоговый код

Dim TestString  as string: TestString=ActiveCell.Value

Dim LatStr As String: LatStr = “EeOoPpAaXxCcMTHKB”

Dim RusStr As String: RusStr = “ЕеОоРрАаХхСсМТНКВ”

Dim b as integer, J as integer, sValue as string, s1 as  string

For j=1 to Len(TestString)

         sValue=Mid(TestString,j,1)

For b=1 to len(LatStr)

                         S1=mid(LatStr,b,1)

If  s1=sValue then sValue=Mid(RusStr,b,1)

Next b

NewString=NewString & sValue

Next j

Отступы могут быть произвольными, можно вообще обойтись без них, но так проще отследить, что же происходит на участках кода

Где же применить полученный код? Лично я вижу два варианта.

Создаем пользовательскую функцию – UDF.

Первый – обернуть строки кода в виде функции. Например, создать пустой файл Excel, открыть в нем редактор VBA, используя нажатие сочетания “Alt F11” и дать команду 

«Insert» → «module!»

замена символов в VBA -1

В открывшемся окне вставляем  следующую строку

Public Function LatinToRus (TestString as Variant) as string

Редактор автоматически создаст основу или – как принято это называть – каркас для функции, добавив строку End Function. После этого добавим полученный нами выше код перед строкой End Function. Первую строку кода пропускаем – мы задаем TestString  как параметр – исходные данные – для нашей функции. Завершим все добавлением строки

LatinToRus=NewString

Результат получится таким

Public Function LatinToRus (TestString as Variant) as string

Dim LatStr As String: LatStr = “EeOoPpAaXxCcMTHKB”

Dim RusStr As String: RusStr = “ЕеОоРрАаХхСсМТНКВ”

Dim b as integer, J as integer, sValue as string, s1 as  string

For j=1 to Len(TestString)

         sValue=Mid(TestString,j,1)

For b=1 to len(LatStr)

                         S1=mid(LatStr,b,1)

If  s1=Svalue then Svalue=Mid(RusStr,b,1)

Next b

NewString=NewString & sValue

Next j

LatinToRus=NewString

End Function

замена символов в VBA -2

Название функции естественно может быть произвольным.

Сохраним файл с функцией как надстройку Excel.

Теперь сохраним наш файл как надстройку Excel в формате Xlam. Excel сам автоматически выберет место для хранения надстройки. Если же  вы хотите сохранить ее резервную копию, дайте команду «Сохранить как» ещё раз . После этого сделайте копию, к примеру, на рабочем столе

замена символов в VBA

Теперь перейдем по пути

Файл → параметры → Надстройки → надстройки Excel → перейти

И отмечаем нашу надстройку флажком

замена символов в VBA -4

Меняем в Excel английские буквы на русские.Замена символов в VBA.

После этого функция станет доступной во всех файлах  Excel для текущего пользователя в категории «Определенные пользователем»

Меняем в Excel английские буквы на русские.Замена символов в VBA.

Меняем в Excel английские буквы на русские.Замена символов в VBA.

А вот и пример использования.

Меняем в Excel английские буквы на русские.Замена символов в VBA.

Обратите  внимание на формулы. Очевидно, что после применения функции LatinToRus были найдены все слова по образцам.

Используем создание процедуры.

Второй способ применения – использование созданного кода в виде процедуры, например, для ячеек выделения. Такую процедуру удобнее добавить в личную книгу макросов. Изначально доступ к ней запрещен, поэтому пойдем на хитрость. Запустим запись макроса с вкладки «Вид»

Меняем в Excel английские буквы на русские.Замена символов в VBA.

Укажем хранение макроса в личной книге, после чего сразу остановим запись

Меняем в Excel английские буквы на русские.Замена символов в VBA.

Меняем в Excel английские буквы на русские.Замена символов в VBA.

Снова запускаем редактор VBA и открываем текст модуля из личной книги.

Меняем в Excel английские буквы на русские.Замена символов в VBA.

Удаляем строки Sub Макрос1 () и End Sub а так же все что Excel добавил между ними  и вставляем следующий код

Sub Change_Latin_To_Rus()

    Dim LatStr As String: LatStr = “EeOoPpAaXxCcMTHKB”

    Dim RusStr As String: RusStr = “ÅåÎîÐðÀàÕõÑñÌÒÍÊ”

    Dim b As Integer, J As Integer, sValue As String, s1 As String

    Dim TestString  As String

    For Each MyCells In Selection

        NewString = “”

        TestString = MyCells.Value

        For J = 1 To Len(TestString)

            sValue = Mid(TestString, J, 1)

            For b = 1 To Len(LatStr)

                s1 = Mid(LatStr, b, 1)

                If s1 = sValue Then sValue = Mid(RusStr, b, 1)

            Next b

            NewString = NewString & sValue

        Next J

        MyCells.Value = NewString

    Next MyCells

End Sub

Меняем в Excel английские буквы на русские.Замена символов в VBA.

Теперь достаточно выделить нужный диапазон, нажать сочетание Alt F8 и выбрать нашу процедуру.

Замена символов в VBA произойдет автоматически во всех выделенный ячейках. И наконец ,если вам надо наоборот поменять русские буквы в латинице, то просто поменяйте местами в циклах LatStr и RusStr то есть сделайте так

For b=1 to len(RusStr)

S1=mid(RusStr,b,1)

If  s1=Svalue then Svalue=Mid(LatStr,b,1)

Next b

Подведем итоги.

Никто не мешает добавить символы, к примеру, заменить знак нуля на заглавную букву «О». то есть дальнейшее уже зависит от вашей фантазии. Как видите, замена символов в VBA  не такое уж сложное дело. Нужно только желание. Пробуйте, экспериментируйте. На этом все, встретимся на занятиях. Всем внимательности и упорства, а результат не заставит себя ждать.

На чтение 5 мин. Просмотров 2.5k. Опубликовано 15.12.2019

Содержание

  1. Описание функции
  2. Пример
  3. Первый способ транслитерировать русский текст
  4. Второй способ перевода русского текста в транслит в Excel с помощью пользовательской функции

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

Функция =ТРАНСЛИТ(ТЕКСТ) имеет всего один аргумент

  • ТЕКСТ — строка (или ссылка на ячейку), к которой необходимо применить транслитерацию текста.

Пример

Следующий пример демонстрирует работу данной функции:

Очень часто требуется преобразовать русский текст (кириллицу) в английский (транслит), не перевести, а написать русские слова английскими буквами.

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

Мы предлагаем вам два варианта решения данной задачи.

Первый способ транслитерировать русский текст

Первый способ транслита русского текста достаточно топорный — с использованием приложения Punto Switcher от Яндекс.

Скачиваем программу Punto Switcher на официальном сайте: http://punto.yandex.ru/

Punto Switcher — программа, которая автоматически переключает раскладку клавиатуры. Она знает, что «ghbdtn» — это «привет», а «пщщв ьщктштп» — это «good morning».

Так вот, данная программа, помимо своей основной функции можете переводить текст в транслит, менять регистр выделенного текста (сделать из «иванов» в «ИВАНОВ») и другое.

Устанавливаем программу себе на компьютер, в системном трее должен появится значок программы

Если зайти в настройки (правой кнопкой мыши по значку, выбрать настройки, горячие клавиши), то можно увидеть, что по умолчанию установлено переводить текст в транслит с помощью горячих клавиш Alt+Scroll Lock

К сожалению, в самом Excel программа транслитерировать текст не сможет, необходимо промежуточное действие. Копируем столбец с русскими буквами, открываем блокнот на компьютере (Notepad) и вставляем туда текст, далее выделяем текст в блокноте и нажимаем клавиши Alt+Scroll Lock, текст автоматически поменяется на транслит.

Далее вы просто копируете этот текст и вставляете обратно в Excel.

Это удобно если нужно например перевести в translit, например один объемный столбец данных на русском языке, но иногда преобразование текста в транслит требуется с помощью формул Excel, поэтому рассмотрим второй способ с использованием пользовательской функции Excel, написанной на VBA

Второй способ перевода русского текста в транслит в Excel с помощью пользовательской функции

Есть специальный макрос для создания пользовательской функции.

Переключите раскладку на русский язык!! Копируем данный код, открываем среду VBA, для это нажмите правой кнопкой на активный лист и выберите пункт «Исходные данные», либо нажмите Alt+F11 далее через меню выберите новый программный модуль (Insert — Module)

и в открывшееся окно вставляете данный код и закрываете это окно.

После этого в любом месте данного листа (а при вставке кода с помощью Insert — Module — в любом месте данной книги) вы сможете использовать пользовательскую функцию, которую можно вызвать выбрав:

Вставка — Функция ( Insert — Function )

в Excel 2013 Функция — Вставить функцию

Выбираем Категория: определенные пользователем, в данном списке должна появится наша функция Translit

Можно просто в нужной ячейке набрать =Transit (ссылка_на_русский_текст)

После этого протягиваем формулу и получаем нужный нам результат.

Если вы присмотритесь в полученный результат, то увидите, что данные немного отличаются, например

Ivanov Serge j Petrovich и Ivanov Serge y Petro vich

то есть буква «й» преобразовалась по-разному, если для вас это критично, то нужно будет немного поменять указанный выше код. В коде есть две таблицы — одна на русском языке, другая латиницей. Не трудно догадаться, что вам необходимо поменять нужные вам буквы. В данном случае в коде нужно найти «j» и поменять на «y», если требуется, то по аналогии поступаем с другими буквам.

  • Начиная с Excel 2007 не забудьте сохранить файл в формате поддержки макросов — xlsm, иначе макрос не сохранится;
  • Данный макрос необходимо вставлять в каждую отдельную книгу, в которой вы хотите, чтобы он работал;
  • Иногда требуется, чтобы была не встроенная функция, а макрос при запуске которого текст будет переводится в транслит, в этом случае нужно вставить код, указанный ниже. В итоге, для перевода текста в transit необходимо выделить нужный текст на русском языке (диапазон ячеек) и запустить макрос «Translit» и данный текст будет обработан.
  • Важно! Перед копированием данного кода, обязательно переключите раскладку клавиатуры на русский язык.

Итак, надеюсь вы нашли ответ на свой вопрос о том, как проще всего транслитерировать текст в Excel (преобразовать текст на русском языке в транслит).

Ставьте лайки, подписывайтесь на наши группы в социальных сетях и следите за следующими уроками.

Если Вам часто приходится переводить кириллицу в транслит (а попробуйте-ка сделать это для фамилии «Кржижановский», например), то эта функция — для Вас.

Откройте редактор Visual Basic (Alt+F11), вставьте через меню новый пустой программный модуль (Insert — Module) и скопируйте туда текст этой функции:

Теперь на любом листе этой книги Вы можете использовать эту функцию, вставив ее через Мастер Функций:

из категории Определенные пользователем (User defined) :

В этом макросе варианты замены русских букв английскими эквивалентами представлены согласно ГОСТ. Если для вашей задачи нужны другие версии (например, русская «я» должна выводиться как «ja», а не как «ya» и т.д.), то можно свободно подкорректировать это в теле макроса. Как легко догадаться, два первых массива Rus и Eng как раз и кодируют эти подстановки.

Для новых версий Excel 2007-2010 и т.д. не забудьте сохранить вашу книгу как файл с поддержкой макросов (Macro Enabled Workbook) , т.е. в формате XLSM.

Данная команда позволяет быстро находить в тексте ячейки Кириллицу или Латиницу, выделять или удалять ее. Также позволяет менять Кириллицу (Латиницу) на Латиницу (Кириллицу):

Кириллица - Латиница

Чтобы воспользоваться данной командой выделите ячейки с текстом, перейдите во вкладку «ЁXCEL» Главного меню, нажмите кнопку «Ячейки» и выберите команду «Кириллица — Латиница»:

kirillitsa-latinitsa

Откроется диалоговое окно. Выберите один из девяти вариантов выполнения программы и нажмите кнопку «ОК»:

kirillitsa-latinitsa

Программа выполнит необходимое действие:

  • Выделить Латиницу -> программа выделит красным цветом все буквы Латиницы;
  • Выделить Кириллицу -> программа выделит красным цветом все буквы Кириллицы;
  • Удалить Латиницу -> программа удалит все буквы Латиницы;
  • Удалить Кириллицу -> программа удалит все буквы Кириллицы;
  • Заменить Кириллицу на Латиницу (мама -> mama) -> программа заменит все буквы Кириллицы на буквы Латиницы (буква х будет заменена на h);
  • Заменить Кириллицу на Латиницу (х -> x) -> программа заменит все буквы Кириллицы, похожие на буквы Латиницы на буквы Латиницы (буква х будет заменена на x);
  • Заменить Латиницу на Кириллицу (x -> х) -> программа заменит все буквы Латиницы, похожие на буквы Кириллицы на буквы Кириллицы (буква x будет заменена на х);
  • Заменить Кириллицу на Латиницу (рщьу -> home) -> программа заменит все буквы Кириллицы на соответствующие этим же клавишам клавиатуры буквы Латиницы;
  • Заменить Латиницу на Кириллицу (vfvf -> мама) -> программа заменит все буквы Латиницы на соответствующие этим же клавишам на клавиатуре буквы Кириллицы.

Для отмены операции нажмите кнопку отмены:

Важно:

  • Варианты: «Выделить Кириллицу» и «Выделить Латиницу» — не имеют функции отмены.
  • Если в выделенных ячейках цвет текста красный — вы не увидите результата работы вариантов: «Выделить Кириллицу» и «Выделить Латиницу».

Добавить комментарий

Результат транслитерации выделенного диапазона ячеек

Надстройка для транслитерации или кодирования (замены символов их кодами) выделенного диапазона ячеек Excel

При запуске надстройки в Excel формируется панель инструментов, при помощи которой можно выполнять следующие действия:

  • Нажатием кнопки RU->EN выполнить транслитерацию выделенного диапазона ячеек
  • Нажатием кнопки EN->RU выполнить транслитерацию выделенного диапазона ячеек
  • В выпадающем списке «Режим работы» можно переключить режим замены символов — второй пункт выпадающего списка «Коды символов» вместо транслита включает режим замены символов их кодами AscW (и обратный режим замены кодо исходным текстом, используя вызов функции ChrW)
  • Нажатием последних двух кнопок (галочка и крестик) можно управлять видимостью листа надстройки, на котором расположена таблица соответствия символов кириллицы и латиницы
  • Самая левая кнопка (со значком дискеты) выполняет сохранение изменений в файле надстройки, и создание её резервной копии в специально созданной папке.

Особенности работы надстройки:

1) Все формулы в обрабатываемом диапазоне заменяются значениями.

2) производится замена ТЕКСТА ячейки, а не её ЗНАЧЕНИЯ.
Таким образом, если в ячейке была формула, возвращающая логическое значение 0 (в ячейке отображается текст FALSE или ЛОЖЬ), то после обработки этой ячейки в ней окажется текст LO^ZH`)

3) Обратная транслитерация корректно работает только в режиме «Коды символов» — причина в том, что если в исходном тексте присутствуют как символы кириллицы, так и символы латиницы, то после применения функции «транслит» все кириллические символы заменяются латиницей, а латиница не изменяется. При обратном преобразовании макрос не знает, какие символы обрабатываемой ячейки до преобразования были латиницей, а какие — кириллицей, — потому заменяет ВСЮ латиницу на кириллицу.

Разницу в результатах вижно на этом скриншоте

4) Функции транслита можно применять и в ячейках листа Excel, как любые другие UDF:

Используйте для этого формулы =Translit2EN($A2;1) и =Translit2RU(F2;1), если требуется преобразование текста в коды символов,

или же формулы =Translit2EN($A2) и =Translit2RU(F2), если нужен именно транслит и обратный транслит.

(второй параметр формулы для режима «транслит» равен нулю, его можно опустить — он используется по-умолчанию)

Пример использования формул можно посмотреть в прикреплённом к статье тестовом файле Excel.

5) В таблице соответствия символов латиницы и кириллицы не должно быть повторяющихся кодов

Сейчас используется примерно такая таблица соответствия:

Почему перед некотороми из символов добавлен символ «крышечка» — станет понятно после прочтения этой статьи

(чтобы исключить проблемы с обратной транслитерацией)

6) После обработки диапазона ячеек производится автоматическое копирование этого диапазона в буфер обмена
(аналогично нажатию комбинации клавиш Ctrl + C)

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

8) Программа обрабатывает ячейки только в используемом диапазоне листа, независимо от того, какой диапазон выделен изначально.

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

9) Программа перебирает все ячейки в цикле — поэтому обработка может работать медленно при больших диапазонах обрабатываемых данных.

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

  • 36644 просмотра

Не получается применить макрос? Не удаётся изменить код под свои нужды?

Оформите заказ у нас на сайте, не забыв прикрепить примеры файлов, и описать, что и как должно работать.

Главная » VBA » Транслит excel

Транслит

​Смотрите также​ не печатаются?​Yoooo​ + 1 cell1.Value​И 2 коротких​Martin Fourcade -​ String mNewString =​

​ «л», «м», «н»,​ «T», «U», «F»,​​ «n», «o», «p»,​​ i, 1)) -​: Внес поправку​ String) As String​​ открывается, но без​​ текст с транслита.​На любом листе​

​ макросов (Macro Enabled​Если Вам часто приходится​Hugo121​: Sub TransText() Dim​ = Worksheets(«Словарь»).Cells(cell2.Row, i).Value​ вопроса:​ Мартен Фуркад​ UnTranslit(Translit(s))что означает -​ «о», «п», «р»,​ «H», «C», «Ch»,​ «r», «s», «t»,​ 1040​KuklP​Dim x, p2​ данных,только макросы.​ Мне надо перевести​ рабочего файла вы​ Workbook), т.е. в​ переводить кириллицу в​: удобнее по другому​ sText, vFindText, vReplText,​ GoTo 1 End​1. Как увеличить​Björn Ferry -​ Передать к обработке​ «с», «т», «у»,​ «Sh», «Zch», «»»,​ «u», «f», «h»,​Select Case j​: Леш,дружище, это не​For Each x​SIMRus​ столбик имени​ сможете использовать эту​ формате XLSM.​ транслит (а попробуйте-ка​Sub Test_Translit() Dim​ i Set sText​ If Next cell2​ у Макроса «зону​ Бьёрн Ферри​ фразу s функцией​ «ф», «х», «ц»,​ «‘Y», «‘», «Eh»,​ «c», «ch», «sh»,​Case 0 To​ моя функция. Просто​ In Split(s)​: Мои извинения!Дубль 2.​Alexandr​ функцию, вставив ее​Есть База данных.​ сделать это для​ r As Range​ = ActiveDocument.Range vFindText​ 1: Next cell1​ просмотра столбцов» ??​Ole Einar Bjørndalen​ Translit (на лат.),​ «ч», «ш», _​ «Ju», «Ja», «a»,​ «zch», «»», «‘y»,​ 63, 65 ‘А-Я,а-я,ё​ валяется в общей​If p2 Then​Сохранено в формате​Alexandr​ через меню Вставка​Мне нужно прописать​ фамилии «Кржижановский», например),​ Set r =​ = Array(«щ», «ч»,​

​ End Sub​ Т.е. этот Макрос​ — Уле-Эйнар Бьёрндален​ потом функцией UnTranslit,​ «щ», «и», «ь»,​

  • ​ «b», «v», «g»,​ «‘», «eh», «ju»,​Mid(out, k) =​​ свалке. Даже не​FamIO = FamIO​
  • ​ xls, удалена картинка​Alexandr​ — Функция =Translit(текст)​​ в одном столбце​ то эта функция​

​ ActiveDocument.Range r.Select »Debug.Print​​ «ш», «ъ», «ы»,​​Теперь можно вернуться на​

ТранслитȎxcel

​ «просматривает» только 3​Вдобавок, в зависимости​ а результат присвоить​ «ю», «я», «А»,​ «d», «e», «jo»,​ «ja») For iCount%​ Eng(j)​ помню, где взял.​ & LCase(Left(Translit((x)), 1))​ с фона, но​Artem​Текст — транслитируемый​ все название в​ — для Вас.​ Selection.Range.Text Translit (Selection.Range.Text)​ «ь», _ «э»,​ лист с отчетом​ столбца на листе​

​ от гонки фамилии​ переменной mNewString (фраза​ «Б», «В», «Г»,​ «zh», «z», «i»,​ = 1 To​k = k​ Поэтому без ссылки​Else​

planetaexcel.ru

Некоторые функции эксель

​ вес 132 кб…как​
​Artem​ текст. Этот аргумент​ КАПСЛОКЕ и сделать​Откройте редактор Visual Basic​ »йцукенгшщзхъфывапролджэячсмитьбюё »Debug.Print Selection.Range.Text​
​ «ю», «я», _​ и запустить макрос​ «Словарь» и потом​

​ могут меняться местами.​​ s не измениться)​ «Д», «Е», _​ «jj», «k», «l»,​ 65 iValue$ =​
​ + Len(Eng(j))​ на автора. Я​FamIO = LCase(Translit((x)))​ меньше сделать не​и т.д.​ может быть ссылкой​ транслитерацию.​

​ (​​ End Sub Sub​ «ё», «ж», «й»,​Translate​ возвращаеться к 1-му​
​Т.е. нужно что-то​
​Если разпишете по​ «Є», «Ж», «З»,​ «m», «n», «o»,​ Replace(iValue$, Mid(iRussian$, iCount%,​Case -15 ‘Ё​
​ бы переписал ее​p2 = True​ знаю.​
​AlexM​ на текст (ячейку).​
​Каким образом это​Alt+F11​
​ Translit(ByVal txt As​ «а», «б», «в»,​через меню​ столбцу этого же​ вроде массовой замены​ частях, тогда​ «И», «Ї», «Й»,​ «p», «r», «s»,​
​ 1), iTranslit(iCount%), ,​Mid(out, k) =​
​ совсем иначе, но​End If​
​Файл удален​: Нужна таблица соответствия​Наталия​ можно сделать, наиболее​), вставьте через меню новый​
​ String) MK00 «а»,​ «г», «д», «е»,​Сервис — Макрос -​ листа. Нужно, чтобы​ «Найти» и «Заменить​
​’ s -​ «К», «Л», «М»,​ «t», «u», «f»,​ , vbBinaryCompare) ‘MS​ Eng(64)​
​ лень:-) Но все​Next​- велик размер​ букв.​: на сайте онлайн​
​ быстро?​ пустой программный модуль​ «a» MK00 «б»,​ «з», _ «и»,​ Макросы (Tools -​
​ «просматривал» хотя бы​ на».​
​ русская фраза, mNewString​ «Н», «О», «П»,​ «h», «c», «ch»,​ Excel 2000 Next​k = k + 2​
​ равно, спасибо.​End Function​ — [​II4eJI​https://translit.net/​
​Ramiro’zz​ (​ «b» MK00 «в»,​ «к», «л», «м»,​ Macro — Macros)​
​ 5 столбцов, И​У кого-нибудь есть​ =Translit (s) ‘​ «Р», _ «С»,​ «sh», «zch», «»»,​
​ Translit$ = iValue$​Case Else ‘символы,​И второй Леша(Казанский)​Применять на листе​МОДЕРАТОРЫ​
​: И как ее​из столбца excel​
​: точно не знаю​Insert — Module​
​ «v» MK00 «г»,​
​ «н», «о», «п»,​или нажав ALT+F8.​
​ НЕ возвращался к​ идеи? Спасибо :))​
​ mNewString — трнслитерация​
​ «Т», «У», «Ф»,​
​ «‘y», «‘», «eh»,​
​ End Function Sub​
​ не явл. русскими​
​ — спасибо, радует,​ так: =famio(A2)​]​ сделать такую таблицу?​ скопировать текст, нажать​
​ возможно ли такое,​
​) и скопируйте туда​
​ «g» MK00 «д»,​
​ «р», «с», «т»,​
​ Все слова из​ 1-му столбцу​RAN​ лат. ‘ s​ «Х», «Ц», «Ч»,​ «ju», «ja») For​
​ IspTranslit() Dim rCell​ буквами​ что мы друг​MCH​

​Михаил С.​​AlexM​
​ в меню над​
​ но для эксперимента​ текст этой функции:​ «d» MK00 «е»,​ «у», «ф», «х»,​ вашего отчета, найденные​2. Что будет,​: Функции, способные​

Транслитерация в экселе

​ — фраза лат.​​ «Ш», «Щ», «И»,​ iCount = 1​
​ As Range, Rng​Mid(out, k) =​ друга поддерживаем. А​: ну и мой​: В архив, предпочтительно​: Две колонки​ окошком «В русский»,​ можно попробовать так:​Function Translit(Txt As​

​ «e» MK00 «ё»,​​ «ц») vReplText =​

​ в на листе​

​ если убрать из​
​в основном, называются​ буквами mNewString =UnTranslit​ «Ь», «Ю», «Я»,​ To 66 sValue​
​ As Range Set​

​ Mid$(txt, i, 1)​​ ты у нас​ вариант​ .rar​EN — RU​ потом этот столбик​

​пропечатать названия на​​ String) As String​ «jo» MK00 «ж»,​
​ Array(«zch», «ch», «sh»,​Словарь​ макроса строчку:​ «транслит».​

​ (s) ‘ mNewString​​ » «, «‘»)​ = Replace(sValue, Mid(sRussian,​ Rng = Range(«A1:A24»)​k = k + 1​ так вообще, умничка!​SIMRus​Михаил С.​A — А​ скопировать обратно в​ русском, пропечатать алфавит​

​ Dim Rus As​
​ «zh» MK00 «з»,​ «»», «‘y», «‘»,​, будут заменены на​Langs = 3​Ищите, и обрящете.​ — трнслитерация рус.Пробуйте.​ EngLang = Array(«a»,​ iCount, 1), sTranslit(iCount),​ ‘тут указываете свой​End Select​MCH​: Протестил Ваш вариант,​: ЗЫ и этот​B — Б​ excel​ соответствие русских букв​ Variant Rus =​ «z» MK00 «и»,​ _ «eh», «ju»,​ слова из соседней​ ‘количество языков перевода,​Правда, как с​ Удачи.​ «b», «v», «g»,​ , , vbBinaryCompare)​ диапазон For Each​Next​:​ он подходит полностью!Спасибо!​ файл не открывается.​C — С​Alesto911​ транслиту, сообразить какуюто​ Array(«а», «б», «в»,​ «i» MK00 «й»,​ «ja», _ «jo»,​ колонки, т.е. переведены​ включая русский​ использованием транслита изобразить​Alexander_G​ «d», «e», «je»,​ ‘MS Excel 2000​ rCell In Rng​TranslitFast = Left$(out,​KuklP​Жаль уже 300​ :(​D — Д​: Ребят, есть следующая​ формулу для автоматической​ «г», «д», «е»,​ «jj» MK00 «к»,​ «zh», «jj», «a»,​ на другой язык.​Бывает, что при​ Fernand Renault, большой​: Привет всем! Подскажите​ «zh», «z», «i»,​ Next Translit =​ rCell.Value = Translit(rCell.Value)​

CyberForum.ru

Транслит (Формулы/Formulas)

​ k — 1)​​: Спасибо Миш. Только​ юзерам пароли раздали,​зы.зы Создайте пример​…..​ задача:​
​ замены символов с​
​ «ё», «ж», «з»,​
​ «k» MK00 «л»,​
​ «b», «v», «g»,​
​ Запуская макрос несколько​
​ «переводе» языков распознования​

​ вопрос.​​ макро который помогает​ «ji», «j», _​

​ sValue End Function​​ Next End SubОн​End Function​

​ помню, что точно​​ а то бы​
​ в новой книге,​
​P — П​
​в Экселе представлен​
​ русских на транслит​
​ «и», «й», «к»,​
​ «l» MK00 «м»,​
​ «d», «e», «z»,​
​ раз, мы будем​
​ будет 1 (английский),​buchlotnik​ переводить русские буквы​ «k», «l», «m»,​ Function UnTranslit(ByVal sValue​

​ транслитерирует из кириллицы​​SIMRus​ брал ее не​ вообще отлично было)​ и в примере​и тд.​;)
​ столбик с данными​Сергей хлызов​ _ «л», «м»,​ «m» MK00 «н»,​

​ _ «i», «k»,​​ по кругу переводить​ или до 5​
​: Хм… а по​ в латиницу​ «n», «o», «p»,​

​ As String) As​​ в латиницу. Возможно​

excelworld.ru

Транслитерация текста в ячейке

​: re: MCH​​ оттуда. Я туда​Единственная просьба внести​ оставьте только то,​
​Делайте файл-пример с​ на русском. рядом​: Чтобы перевести любые​ «н», «о», «п»,​
​ «n» MK00 «о»,​ «l», «m», «n»,​ наш отчет последовательно​ (англ, русский, французский,​ какому принципу​Например ячейка​ «r», «s», «t»,​

​ String Dim sRussian​ ли заставить его​Ваш вариант самый​ не заглядываю:-) Мне​ маленькую корректировку в​

​ что касается вопроса.​ именами EN и​ пустой столбик. Можно​ буквы (строчные/прописные) в​ «р», «с», «т»,​ «o» MK00 «п»,​ «o», «p», «r»,​ на русский-английский-немецкий-русский-английский-и т.д.​ немецкий, норвежский).​Ole Einar​А1 Москва​ «u», «f», «kh»,​ As String, iCount​ работать наоборот, т.​ подходящий!​ не нужно… А,​ код:​KuklP​ с таблицей соответствия​ ли как-то сделать​
​ прописные (КАПСЛОК по-вашему)​ «у», «ф», «х»,​ «p» MK00 «р»,​ «s», «t», «u»,​ Выглядеть это будет​InExSu​превращается в​

​А2 Самара​

​ «ts», «ch», _​​ As Integer, sTranslit​ е. транслитерировать из​Спасибо за участие!​ кстати и автора​логин формируется из​

​: А у меня​​ букв. Прикладывайте файл​ функцию, чтобы в​ существует функция​ «ц», «ч», «ш»,​ «r» MK00 «с»,​

​ «f», «h», «c»)​​ так:​: Привет!​​Уле-Эйнар​​и т.д.​

​ «sh», «sch», «y»,​​ As Variant sTranslit​ латиницы в кириллицу?​Спасибо за результат!​ там не нашел.​ ФИО, где фамилия​ вообще не загрузился.​ в тему.​

​ пустом столбике отобразилась​​=ПРОПИСН (текст)​ _ «щ», «ъ»,​ «s» MK00 «т»,​

​ With sText.Find For​

​Praktisch, nicht wahr? :)​​Пожалуйста, в книге​
​(через дефис). Что-то​Перевод:​ «‘», «yu», «ya»,​

​ = Array(«Zch», «zch»,​​ Мне он очень​

​Всем спасибо!!!!​ Так и мои(и​ пишется полностью(как есть),​PS Сергей. Игорь​AlexM​ транслитная версия первого​

​Текст — текст,​​ «ы», «ь», «э»,​ «t» MK00 «у»,​​ i = LBound(vFindText)​​bumbarasxx​

​ покажите:​​ подсказывает, что для​В1 Moskva​

​ «A», «B», «V»,​​ «»», «Ch», «ch»,​ понравился, так как​SIMRus​

​ не только) наработки​ а имя и​ у нас Hugo:-)​: Разумно такую задачу​ столбика?​

​ преобразуемый в верхний​​ «ю», «я», «А»,​ «u» MK00 «ф»,​
​ To UBound(vFindText) .Text​: Как сделать так,​

​1. Что у​​ проще ручками таблицу​B2 Samara​ «G», «D», _​ «Eh», «eh», «Ja»,​

​ он заглавные буквы​​: Поспешил(​

​ гуляют по инету​​ отчество сокращается до​Михаил С.​ решать макросом, но​Alesto911​ регистр. Этот аргумент​
​ «Б», «В», «Г»,​ «f» MK00 «х»,​
​ = vFindText(i) .Replacement.Text​ чтобы сохранилось форматирование​ Вас есть.​
​ соответствий сделать, чем​Спасибо!​
​ «E», «Je», «Zh»,​ «ja», «Jj», «jj»,​ заменяет на заглавные,​Пример работает отлично,​ без авторства. Это​
​ одной буквы.​: Сереж, прошу прощения;​ так как в​:​ может быть ссылкой​
​ «Д», «Е», _​ «h» MK00 «ц»,​ = vReplText(i) .Execute​ текста (жирный, курсив,​2. Что Вы​
​ заморачиваться на скрипты​Spasibo!​ «Z», «I», «Ji»,​ «Jo», «jo», «Ju»,​ строчные на строчные,​
​ а вот в​ ИМХО нормально. Задевает​В Вашем же​ у нас жара​ этом разделе спрашивают​
​Не по теме:​ на текст (ячейку).​
​ «Ё», «Ж», «З»,​ «c» MK00 «ч»,​ Replace:=wdReplaceAll Next i​ цвет и т.д.)​ хотите.​
​ под разные языки​drony​ «J», «K», «L»,​ «ju», «Sh», «sh»,​ не трогает остальные​
​ свой документ к​ только немного, когда​ варианте если имя​ — 32 в​ формулы. Выхода нет.​
​Да, можно!!!​Чтобы провести транслитерацию​ «И», «Й», «К»,​ ChrW(269) »»ch» MK00​ End With End​
​ после транслитерации?​dimakdd​dimakdd​: В PLEX есть​ «M», «N», «O»,​

​ «‘Y», «‘y», «Zh»,​ знаки, толщину букв​
​ сожалению прикрутить не​ кто-то приписывает себе​
​ или отчество начинается​
​ тени.​В файле два​
​И, воспользовавшись поиском​ кириллических букв необходимо​
​ «Л», «М», «Н»,​
​ «ш», ChrW(363) »»sh»​
​ Sub (имел сказать:​
​Function Translit(ByVal txt​
​: Вот пример. Excel-документ.​
​: Ой, СПАСИБО за​ функция =Translit() она​ «P», «R», _​ «zh», «‘», «A»,​ и их цвет.​
​ могу…​
​ авторство. Но Бог​
​ с букв которые​

​SIMRus​​ решения. Частично ручное​

​ уже давно нашёл​ проделать следующее:​
​ «О», «П», «Р»,​
​ MK00 «щ», «zch»​ оформляется​
​ As String) As​
​ В нём 3​ оперативность. Уже РЕШИЛ​
​ занимается этим.​
​ «S», «T», «U»,​
​ «a», «B», «b»,​
​ Вот только бы​
​формат xlsm, Excel​
​ с ним, несущественно.​

​ в транслитерации дают​: Дубль 3​

​ и автоматическое (очень​​ бы, есть здесь​1. Откройте рабочий​

​ _ «С», «Т»,​​ MK00 «ъ», «»»​так же​
​ String txtRussian =​ листа под названиями:​ проблему. Просто думал,​Но я предпочитаю​

​ «F», «Kh», «Ts»,​ «C», «c», «D»,​ научить его обратному​
​ 2010.​ Я открещиваюсь от​ две(ж, ш, ч​KuklP​ длинное).​ уже такие решения!!!​
​ файл.​ «У», «Ф», «Х»,​ MK00 «ы», «‘y»​)​ Array(«», «щ», «ч»,​ Лист 0, Men,​ что у меня​ PuntoSwitcher​
​ «Ch», «Sh», «Sch»,​ «d», «E», «e»,​
​ процессу, и обрабатывать​
​Пересохранял в xls,​ авторства, когда мне​

​ итд) то выглядит​​: Миш, у меня​II4eJI​

​Не ленись!!!​​2. Откройте редактор​ «Ц», «Ч», «Ш»,​ MK00 «ь», «‘»​Так она и​ «ш», «ъ», «ы»,​
​ Women.​
​ уникально-сложная ситуация. Оказалось​drony​ «Y», «‘», «Yu»,​
​ «F», «f», «G»,​ весь столбец A,​ 2003 результат тот​ его приписывают(абсолютно без​ примерно так:​ уже нет времени,​: Так надо было​KoGG​ Visual Basic (Alt+F11)​ «Щ», «Ъ», «Ы»,​ MK00 «э», «eh»​ так упрощена: см.​ «ь», «э», «ю»,​На Лист 0​ всё просто -​: Вот подобная функция​ «Ya», » «,​ «g», «H», «h»,​ а не только​ же…​ умысла, мои друзья​Кещян Жанна Васильевна​ вот функция транслит,​ сделать таблицу?​
​: Поиск по разделу​3. Вставьте новый​ «Ь», «Э», «Ю»,​ MK00 «ю», «ju»​ заглавные буквы на​ «я», «ё», «ж»,​ ввожу BABIKOV ANTON.​ ответы с этой​ :​ «j») For i​ «I», «i», «K»,​ указанные ячейки.​Вставил код, в​ по форумам) -​ keschyanzhv,​ а ты уж​Ваш вариант вполне​ по ключам «транслит»​ пустой программный модуль​ «Я») Dim Eng​ MK00 «я», «ja»​ рисунке.​ «й», «а», «б»,​ Используя текущую версию​
​ темы натолкнули меня​’Транслитерация русского текста​
​ = 1 To​ «k», «L», «l»,​
​IvanOK​
​ ячейке пишу функцию,​ а кто-то промолчит,​
​а должно так:​ дальше давай:​
​ может подойти я​
​ и «транслитерация» ничего​
​ (Insert — Module)​
​ As Variant Eng​
​ End Sub Sub​
​Yoooo​ «в», «г», «д»,​ скрипта получаю на​
​ на идеи, и​
​ в английский​
​ Len(Txt) curChr =​

​ «M», «m», «N»,​​:​

​ все как в​​ не открестится:-) Не​Кещян Жанна Васильевна​Function Translit(txt As​ думаю​ не дал. Потому​ и скопруйте туда​ = Array(«a», «b»,​ MK00(N1Z, N2Z) ‘​: Точно, если заменять​ «е», «з», «и»,​ «листе 0» -​
​ вот здесь моя​Function Translit(Txt As​ Mid(Txt, i, 1)​ «n», «O», «o»,​Sergei Sonin​ примере, но результата​

​ суть важно. Главное,​​ keschyanzv​

​ String) As String​​AlexM​ тема и создана.​ текст новой функции,​ «v», «g», «d»,​ ‘ Макрос7 Макрос​ по букве, то​ «к», _ «л»,​ BABIKOV Anton. Т.е.​ проблема решена:​ String) As String​ flag = 0​ «P», «p», «R»,​, можно сделайте наоборот​ нет(​ чтоб на пользу​Казанский​Dim i%, c$,​: Медленно работает​Alesto911​ которая будет действовать​ «e», «jo», «zh»,​ ‘ ‘ Selection.Find.ClearFormatting​ должно получиться. Я​ «м», «н», «о»,​ скрипт просматривает лист​Макрос-переводчик​Dim Rus As​

​ For j =​​ «r», «S», «s»,​ англ.алфавит …и потом​

​Единственно не знаю​ людям:-)​
​: А у меня​
​ flag As Boolean,​SIMRus​: Транслитерация из латиницы​ только в рабочем​ «z», «i», «j»,​
​ Selection.Find.Replacement.ClearFormatting With Selection.Find​ пробовал заменять весь​ «п», «р», «с»,​ «Men» и когда​http://www.planetaexcel.ru/techniques/7/56/​
​ Variant​ 0 To 65​ «T», «t», «U»,​
​ к каждой букве​

​ куда поставить Option​​nerv​ это учтено :)​ j%, outchr$, outstr$​: Существует задача транслитерировать​ в кириллицу​ файле:​ _ «k», «l»,​ .Text = N1Z​ текст целиком -​ «т», «у», «ф»,​ видит ТОЧНОЕ совпадение​Создаём Excel-документ. В​Rus = Array(«а»,​ If UkraineLang(j) =​ «u», «V», «v»,​ транслит…на руском​ Explicit, добавляется к​: и еще небольшой​
​Alex_ST​Dim RUS As​ ФИО с сокращением​

​Можно ли создать​Function Translit(Txt As​
​ «m», «n», «o»,​
​ .Replacement.Text = N2Z​ тогда формат слетает.​
​ «х», «ц») arrTranslit​
​ BABIKOV ANTON, то​ документе создаём «вторую​
​ «б», «в», «г»,​ curChr Then outchr​ «Z», «z») sRussian​и сначала разберитесь​ вышестоящему блоку и​ плевок​: Маленькая «полировка» функции​ Variant​ ИО​ интерпретатор для перевода​ String) As String​ «p», «r», «s»,​ ‘N2Z .Forward =​Но чтоб сделать​ = Array(«», «zch»,​ на «листе 0″​ книгу». Во второй​ «д», «е», «ё»,​ = EngLang(j) flag​ = «ЩщъЧчЭэЯяЙйЁёЮюШшЫыЖжьАаБбЦцДдЕеФфГгХхИиКкЛлМмНнОоПпРрСсТтУуВвЗз» For​ как работает ета​ при его выполнении​Static RUS As​ Сергея: массив удобнее​RUS = Array(«а»,​
​Работа происходит с​ латинских букв в​
​Dim Rus As​ «t», «u», «f»,​
​ True .Wrap =​ так, как делал​ «ch», «sh», «»»,​
​ заменяет значение ячейки​
​ книге, в столбце​ «ж», «з», «и»,​
​ = 1 Exit​ iCount = 1​
​ функция и вам​ выдает ошибку..​
​ Variant​
​ и КОРОЧЕ задавать​ «б», «в», «г»,​
​ многолистовым документом в​
​ кириллицу​ Variant​ «kh», «ts», «ch»,​
​ wdFindContinue .Format =​ код в примере​
​ «‘y», «‘», «eh»,​
​ на​
​ «А» прописываем фамилии​
​ «й», «к», «л»,​ For End If​
​ To 64 sValue​

​ все станет понятно,​​Hugo​
​If IsEmpty(RUS) Then​ не через Array​

​ «д», «е», «ё»,​
​ котором хранятся пароли,​
​Александр Смит​

​Rus = Array(«а»,​​ _ «sh», «sch»,​
​ False .MatchCase =​ — ещё нужно​ «ju», «ja», «jo»,​значение ближайшей правой​ на языке-оригинале. В​
​ «м», «н», «о»,​ Next j If​
​ = Replace(sValue, sTranslit(iCount​ особенно обратите внимание​: Да что там​

​RUS = Array(«а»,​ а через Split:​ «ж», «з», «и»,​ лист — отдел.​: Спасибо, посмотрел. Но​
​ «б», «в», «г»,​ «»», «y», «‘»,​ False .MatchWholeWord =​ дорабатывать.​ «zh», «jj», «a»,​ ячейки на листе​

​ столбце «B» прописываем​​ «п», «р», «с»,​ flag Then outstr​
​ — 1), Mid(sRussian,​ на коичесто символов​ крутить…​ «б», «в», «г»,​Function Translit$(txt$)​
​ «й», «к», _​

​Структура такая столбец​ ничего не понял.​

​ «д», «е», «ё»,​​ «e», «yu», «ya»,​ False .MatchWildcards =​
​Hugo121​ «b», «v», «g»,​ «Men». ЭТО ОТЛИЧНО.​ фамилии так, как​ «т», «у», «ф»,​ = outstr &​ iCount, 1), ,​ в массиве и​Открываете оба документа,​ «д», «е», «ё»,​Dim i%, c$,​»л», «м», «н»,​

​ А — ФИО​​ На свой вкус​ «ж», «з», «и»,​ «A», «B», «V»,​ False .MatchSoundsLike =​: добавить букву ц​ «d», «e», «z»,​

​Однако когда на​​ хотим их видеть​ «х», «ц», «ч»,​ outchr Else _​ , vbBinaryCompare) ‘MS​ соотвествее каждому символу​
​ Alt+F11, в редакторе​ «ж», «з», «и»,​ j%, outChr$, outStr$,​ «о», «п», «р»,​
​ в виде Иванов​ попробовал исправить исход​ «й», «к», _​ «G», «D», _​
​ False .MatchAllWordForms =​Sub Test_Translit() Dim​ «i», «k», _​ «листе 0» ввожу​

planetaexcel.ru

Транслитерация из латиницы в кириллицу

​ на русском.​​ «ш», «щ», «ъ»,​ outstr = outstr​
​ Excel 2000 Next​Sergei Sonin​ тянетен мышью модуль​ «й», «к», _​ flag As Boolean​ «с», «т», «у»,​ Иван Иванович, столбец​ транслитерации, добавил замену​»л», «м», «н»,​ «E», «JO», «ZH»,​ False End With​ r As Range​ «l», «m», «n»,​ AKIMOVA TATIANA, исполняю​Копируем фамилии из​ «ы», «ь», «э»,​ & curChr Next​ UnTranslit = sValue​:​ целиком из одного​»л», «м», «н»,​Dim RUS: RUS​ «ф», «х», «ц»,​ В — login​ пробела на нижнее​ «о», «п», «р»,​ «Z», «I», «J»,​ Selection.Find.Execute Replace:=wdReplaceAll Selection.Find.Execute​ Set r =​ «o», «p», «r»,​ скрипт, ничего не​ pdf-документа с результатами​ «ю», «я», «А»,​ i Translit =​ End Function Sub​IvanOK​ документа в другой.​ «о», «п», «р»,​ = Split(«а б​ «ч», «ш», _​ в виде ivanovii,​ подчеркивание, изменил кол-во​ «с», «т», «у»,​ «K», «L», «M»,​ End Sub​ ActiveDocument.Range r.Select Translit​ «s», «t», «u»,​ происходит. Т.к. ячейка​ гонок, вставляем в​ «Б», «В», «Г»,​ outstr End Function​ Test() Dim s​, спасибо, я попробовал​Всё, можно пользоваться.​ «с», «т», «у»,​ в г д​»щ», «ъ», «ы»,​ С — пароль.​ символов в счетчике.​ «ф», «х», «ц»,​ «N», «O», «P»,​Yoooo​ (r) »йцукенгшщзхъфывапролджэячсмитьбюё End​ «f», «h», «c»)​ с содержанием AKIMOVA​

​ «первую книгу» документа,​​ «Д», «Е», «Ё»,​​ Sub Test_Translit() Dim​​ As String s​ так сделать -​И Option Explicit​ «ф», «х», «ц»,​
​ е ё ж​ «ь», «э», «ю»,​Находил на форуме​ Начал выходить полный​ «ч», «ш», _​ «R», _ «S»,​:​ Sub Sub Translit(ByVal​

​ For iCount =​​ TATIANA расположена на​​ создаём и запускаем​​ «Ж», «З», «И»,​ mstr$ mstr =​ = «АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдеёжзийклмнопрстуфхцчшщъыьэюя» Debug.Print​ но тут придется​ будет на месте.​ «ч», «ш», _​ з и й​ «я», «А», «Б»,​ разные варианты, но​

​ бред.​​»щ», «ъ», «ы»,​ «T», «U», «F»,​shanemac51​ txt As String)​ 1 To 33​ листе «Women», который​
​ нижеследующий макрос:​​ «Й», «К», «Л»,​ «Вчинено поквапно» MsgBox​ s Debug.Print UnTranslit(Translit(s))​ сопоставлять несколько букв​SIMRus​

​»щ», «ъ», «ы»,​​ к л м​ «В», «Г», «Д»,​ к сожалению у​Попробуйте​ «ь», «э», «ю»,​ «KH», «TS», «CH»,​, спасибо большое! намного​ Dim X1, X2​ txt = Replace(txt,​ сприпт не видит.​Sub Translate()​
​ «М», «Н», «О»,​ «Вихідний текст:» &​ End SubС уважением,​ латинского алфавита одной​: Не поверите, все​ «ь», «э», «ю»,​ н о п​ «Е», _​ меня не получилось​Function ТРАНСЛИТ(Ячейка As​

​ «я», «А», «Б»,​​ «SH», «SCH», «»»,​​ проще. только тут​​ Dim txtRussian, arrTranslit​ txtRussian(iCount), arrTranslit(iCount), ,​Т.е. как сделать​Dim cell1 as​ «П», «Р», «С»,​
​ Chr(13) & _​
​ Aksima​ русской, как и​ так и делаю)​ «я»)​ р с т​»Ё», «Ж», «З»,​ их прикрутить(​ Range) As String​ «В», «Г», «Д»,​ «Y», «‘», «E»,​ ещё один вопрос​ txtRussian = Array(«»,​ , vbBinaryCompare) txt​ так, чтобы скрипт​ Range, cell2 As​ «Т», «У», «Ф»,​ Space(3) & Chr(34)​Igor_Tr​ в указанном примере.​Что касается Option​End If​ у ф х​ «И», «Й», «К»,​В идеале надо​ Dim sRussian As​ «Е», _​ «YU», «YA») For​ возник)​ «щ», «ч», «ш»,​ = Replace(txt, UCase(txtRussian(iCount)),​ «просматривал» ВСЕ листы,​ Range​ «Х», «Ц», «Ч»,​ & mstr &​: Ещё вариант:​ И это никак​ Explicit, если добавлять​Казанский​ ц ч ш​ «Л», «М», «Н»,​ что бы на​ Variant: Dim sTranslit​»Ё», «Ж», «З»,​ I = 1​Какие коды ChrW​ «ъ», «ы», «ь»,​ UCase(arrTranslit(iCount)), , ,​ которые созданы в​Dim i as​ «Ш», «Щ», «Ъ»,​ Chr(34) & _​- использовать конструкцию​ не получается​ после моих модулей,​: Если задуматься об​ щ ъ ы​ «О», «П», «Р»,​ заданных листах(потому что​ As Variant: Dim​ «И», «Й», «К»,​ To Len(Txt) с​ у этих символов:​ «э», «ю», «я»,​ vbBinaryCompare) Next ThisDocument.Range.InsertAfter​ Excel-документе ??​ Long, Langs As​ «Ы», «Ь», «Э»,​ Chr(13) & Chr(13)​ Select Case,​IvanOK​ то он клеется​ оптимизации, то поиск​ ь э ю​ _​ не на всех​ s As String​ «Л», «М», «Н»,​ = Mid(Txt, I,​ď​ «ё», «ж», «й»,​ (vbNewLine & txt)​Обучим немецкому​

​ Long​​ «Ю», «Я»)​
​ & _ «Transliteration:»​- если предполагается​
​: тебе нужно сделать​ к последнему, а​ русской буквы в​ я А Б​»С», «Т», «У»,​
​ такая структура) что​ sRussian = Array(«А»,​ «О», «П», «Р»,​ 1) flag =​ť​
​ «а», «б», «в»,​ For iCount =​языку по методу​Langs = 3​Dim Eng As​ & Chr(13) &​ обрабатывать большое колич​ двва масива, в​​ не существует сам​​ массиве не нужен​ В Г Д​ «Ф», «Х», «Ц»,​ то анализировало столбец​ «Б», «В», «Г»,​ _​ 0 For J​
​ć​ «г», «д», «е»,​ 1 To 33​ гестапо.​ ‘количество языков перевода,​ Variant​ _ Space(3) &​

​ данных, алгоритм нужно​​ твоем примере есть​ по себе. Но​ — достаточно расположить​ Е Ё Ж​ «Ч», «Ш», «Щ»,​ А и при​
​ «Д», «Е», «Ё»,​»С», «Т», «У»,​ = 0 To​ź​ «з», «и», «к»,​ txt = Replace(txt,​Работающие в иностранных компаниях​ включая русский​Eng = Array(«a»,​ Chr(34) & _​ выстроить с учётом​ только один массив,​ я просто все​ английские строки в​ З И Й​ «Ъ», «Ы», «Ь»,​ появлении там ФИО​ «Ж», «З», «И»,​ «Ф», «Х», «Ц»,​ 65 If Rus(J)​ś​ _ «л», «м»,​ arrTranslit(iCount), txtRussian(iCount), ,​ сотрудники часто вынуждены​For Each cell1​ «b», «v», «g»,​ Translit(mstr) & Chr(34)​ Частотности,​ потом искать сопоставление​ это вставил в​ порядке возрастания кодов​ К Л М​ «Э», «Ю», «Я»)​ транслитерировало его по​ «Й», «К», «Л»,​ «Ч», «Ш», «Щ»,​ = с Then​ŕ​ «н», «о», «п»,​ , vbBinaryCompare) txt​ готовить по два​ In ActiveSheet.Cells.SpecialCells(xlCellTypeConstants)​ «d», «e», «jo»,​ End Sub​- учитывать, что​ букв​ самое начало, но​ русских букв (только​ Н О П​Dim Eng As​ вышеописанному принципу в​ «М», «Н», «О»,​ «Ъ», «Ы», «Ь»,​ outchr = Eng(J)​ń​ «р», «с», «т»,​ = Replace(txt, UCase(arrTranslit(iCount)),​ одинаковых отчета для​For Each cell2​ «zh», «z», «i»,​Igor_Tr​ в английском и​Sergei Sonin​ результата опять же​ буквы ё, Ё​ Р С Т​ Variant​ В, при этом​ «П», «Р», «С»,​ «Э», «Ю», «Я»)​ flag = 1​ł​ «у», «ф», «х»,​ UCase(txtRussian(iCount)), , ,​ отечественного и зарубежного​ In Worksheets(«Словарь»).Cells.SpecialCells(xlCellTypeConstants)​ «j», «k», «l»,​:​ других европейских языках​, а вы что​ не дало(​ выбиваются из общего​ У Ф Х​Eng = Array(«a»,​ понимание того что​ «Т», «У», «Ф»,​Dim Eng As​ Exit For End​Я нашёл таблицы,​ «ц») arrTranslit =​ vbBinaryCompare) Next ThisDocument.Range.InsertAfter​ своего начальства -​If cell1.Value =​ «m», «n», «o»,​Aksima​

​ есть так наз​​ с трастлита на​​SIMRus​​ ряда). И еще​ Ц Ч Ш​ «b», «v», «g»,​ это новый юзер,​ «Х», «Ц», «Ч»,​ Variant​ If Next J​ где ко всем​ Array(«», «zch», «ch»,​ (txt) End Function​ на русском и​

​ cell2.Value Then​ «p», «r», «s»,​, Спасибо преогромное! Но​ диграфы,​ латынь потом с​: Пробовал разные варианты.​ кое-что. В результате​ Щ Ъ Ы​ «d», «e», «jo»,​​ а не изменение​​ «Ш», «Щ», «Ъ»,​
​Eng = Array(«a»,​ If flag Then​ символам отображаются их​ «sh», «»», «‘y»,​ Sub Test_Translit() Dim​ английском языках. Цифры​i = cell2.Column​ «t», «u», «f»,​​ вот беда, я​
​- в приложенном​ етого же на​
​ Возможно я чего​ на строке длиной​ Ь Э Ю​ «zh», «z», «i»,​ старого осуществлялось по​ «Ы», «Ь», «Э»,​ «b», «v», «g»,​ outstr = outstr​ код, но таки​ «‘», «eh», «ju»,​ r As Range​ в этих отчетах,​If i =​ «kh», «ts», «ch»,​
​ никак не соображу,​ файле давнее обсуждение​ кирилицу?​ то не понимаю,​ 820 при многократном​ Я»)​ «j», _​ заполненности ячейки в​ «Ю», «Я», «а»,​ «d», «e», «jo»,​
​ & outchr Else​ там почему-то нет.​
​ «ja», «jo», «zh»,​ Set r =​ естественно, одинаковые, а​ Langs Then i​ «sh», «sch», «»»,​ как запустить этот​ алгоритма транслитерации на​Igor_Tr​ но на листе​ вызове работает в​

CyberForum.ru

Как преобразовать русские буквы в латиницу?

​Dim Eng: Eng​​»k», «l», «m»,​ столбце С…ну во​ «б», «в», «г»,​ «zh», «z», «i»,​

​ outstr = outstr​
​Казанский​
​ «jj», «a», «b»,​
​ ActiveDocument.Range Translit (r)​

​ меняются только подписи,​
​ = 1 Else​
​ «y», «‘», «e»,​

​ макрос, применяя его​
​ другом форуме (из​

​: To Sergei Sonin.​​ 2 в примере​ 20 раз быстрее,​ = Split(«a b​
​ «n», «o», «p»,​ всяком случае я​

​ «д», «е», «ё»,​​ «j», _​ & с Next​

​: Вообще это зависит​ «v», «g», «d»,​
​ End Sub​ заголовки и другой​
​ i = i​ «ju», «ja», «A»,​
​ ко всему столбцу,​ латиницы в кириллицу,​ А зачем Вам​ тоже не работает(​ чем функция Translit​ v g d​ «r», «s», «t»,​ как то так​ «ж», «з», «и»,​»k», «l», «m»,​ I Translit =​ от шрифта.​ «e», «z», «i»,​Hugo121​ текст.​ + 1​ «B», «V», «G»,​ скажем от третьей​ но его несложно​ изобретать? Я думаю,​Hugo​ с предыдущей страницы.​ e jo zh​
​ «u», «f», «kh»,​ себе это представляю…​
​ «й», «к», «л»,​ «n», «o», «p»,​ outstr End Function​А коды можно​ «k», _ «l»,​: Теоретически возможно, практически​Такую задачу можно решить​cell1.Value = Worksheets(«Словарь»).Cells(cell2.Row,​ «D», «E», «JO»,​ его строки и​ «зеркально» поменять), функция​ лучьше скачать какую-то​: Значит что-то не​Можно оптимизировать еще,​ z i j​ «ts», «ch», _​Если анализ в​ «м», «н», «о»,​ «r», «s», «t»,​Теперь на любом листе​ узнать простым макросом.​ «m», «n», «o»,​ вряд ли кто​

​ более изящно. Создаем​ i).Value​
​ «ZH», «Z», «I»,​ до конца. Вот​

​ транслитерации​
​ програмку Free, а​ так делаете (хотя​
​ но существенное ускорение​ k l m​
​»sh», «sch», «»»,​
​ реальном времени затруднителен​
​ «п», «р», «с»,​
​ «u», «f», «kh»,​
​ этой книги Вы​
​For i =​ «p», «r», «s»,​ бесплатно сделает. А​ новый лист в​GoTo 1​
​ «J», «K», «L»,​

​ такой я тугодум.​

​Myhaylo​

planetaexcel.ru

Имена с латиницы на Кириллицу (Макросы/Sub)

​ здесь на форуме​​ где тут можно​ вряд ли будет.​ n o p​ «y», «‘», «e»,​ или не возможен,​ «т», «у», «ф»,​ «ts», «ch», _​ можете использовать эту​
​ 1 To 30000​ «t», «u», «f»,​
​ платно — будет​ таком отчете и​
​End If​ «M», «N», «O»,​
​ Подскажите пожалуйста.​(без учёта частотности),​ спросить у ребят,​
​ не так, не​Function TranslitFast(txt$) As​ r s t​ «yu», «ya», «A»,​
​ то хотя бы​ «х», «ц», «ч»,​

​»sh», «sch», «»»,​​ функцию, вставив ее​
​ Cells(i, 1).Value =​ «h», «c») X1​
​ дорого.​
​ называем его «​Next cell2​ «P», «R», «S»,​To Sergei Sonin​

​ примеры алгоритмов расчёта​​ как вызвать ее​ знаю…)​​ String​​ u f kh​​ «B», «V», «G»,​​ что бы это​ «ш», «щ», «ъ»,​ «y», «‘», «e»,​ через Мастер Функций:​ ChrW(i) Next i​ = LBound(txtRussian, 1)​

​Упрощайте задачу.​​Словарь​1:Next cell1​ «T», «U», «F»,​ Вопрос был не​ частотности применительно к​ (например, ч/з функцию​Ну а Option​Static Eng$()​ ts ch sh​ «D», _​ действие выполнялось по​
​ «ы», «ь», «э»,​
​ «ju», «ja», «A»,​
​в Excel 2003 и​Hugo121​ X2 = UBound(txtRussian,​bumbarasxx​». Выписываем на этот​End Sub​ «KH», «TS», «CH»,​ мне, но смотрю​ русскому языку (его​ WinAPI), вставить/получить/вернуть на​
​ Explicit всего лишь​Dim out$, i&,​ sch » y​»E», «JO», «ZH»,​ горячей кнопке.​ «ю», «я») sTranslit​
​ "B", "V", "G",​
​ старше - через​, я закрыл все​ 1) Do While​
​: Как можно сделать​ лист в любом​dimakdd​
​ "SH", "SCH", "''",​ что задержка с​ можно применить для​
​ лист/в код.​ заставляет объявлять все​
​ j&, k&​ ' e yu​
​ "Z", "I", "J",​Заранее спасибо!​
​ = Array("A", "B",​
​ "D", _​ меню​ документы, закрыл окно​ X1 < X2​ транслитерацию с сохранением​
​ порядке все слова,​: И позвольте ещё​
​ "Y", "'", "E",​
​ ответом. Давайте так,​
​ расчёта частотности к​
​Для примера, есть​
​ переменные модуля.​

​k = 1​​ ya A B​ «K», «L», «M»,​Михаил С.​ «V», «G», «D»,​»E», «JO», «ZH»,​Вставка — Функция (Insert​ VBA. Теперь когда​ Debug.Print X1; MREPL0326​ форматирования текста?​ которые надо автоматически​ помощь. Я просто​ «JU», «JA»)​ если смогу обяснить​ любому языку)​ такая утилитка NI​Эта строка должна​
​On Error Resume​ V G D​ «N», «O», «P»,​
​: Без Вашего файла-примера​ «E», «E», «Zh»,​ «Z», «I», «J»,​ — Function)​ открываю документ, не​ txtRussian(X1), arrTranslit(X1) X1​Казанский​ переводить. Для каждого​ в Макросах Excel,​For I =​ — спасибо скажете​- расчитывать частотность​ Transliterator (http://www.kivlab.com/soft/transliterator/). Вот​ быть одна на​
​ Next​ E JO ZH​
​ «R», _​ (что есть -​ «Z», «I», «Y»,​ «K», «L», «M»,​в Excel 2007 и​ могу найти этот​ = X1 +​: Файл-пример приложите.​ языка добавляем новый​ на ДАННЫЙ МОМЕНТ,​ 1 To Len(Txt)​ тогда не мне,​ нужно к наиболее​ в WinAPI я​
​ модуль, в самом​If UBound(Eng) <​ Z I J​
​»S», «T», «U»,​ что и где​ «K», «L», «M»,​
​ «N», «O», «P»,​ новее — через​ макрос. Он не​ 1 Loop End​Sasha_Smirnov​ столбец, например, так:​

​ вообще не понимаю.​​с = Mid(Txt,​
​ а​ типичным словам конкретного​
​ слабенький, но когда​ начале.​
​ 5 Then Eng​ K L M​

​ «F», «KH», «TS»,​​ хочу) мало кто​ «N», «O», «P»,​ «R», _​ вкладку​ отображается в окне,​
​ Sub Sub MREPL0326(N1Z,​: не все буквы​Потом переходим в редактор​ Однако добрые дела​ I, 1)​Aksima​ вида текста (в​ очень нужно -​Если мешает и​ = Split(«A B​ N O P​ «CH», «SH», «SCH»,​ будет Вам помогать.​
​ «R», «S», «T»,​»S», «T», «U»,​Вставка — Функция (Insert​
​ которые появляется когда​ N2Z) ‘ ‘​ прописаны в строках​ Visual Basic (меню​ делать хочется, например,​flag = 0​. Хорошо?​ приложенном файле на​ найти можно все​
​ не понятно -​ V G D​ R S T​ «»», «Y», «‘»,​SIMRus​

excelworld.ru

Макрос-переводчик

​ «U», «F», «Kh»,​
​ «F», «KH», «TS»,​ — Function)​

​ нажимаю на кнопку​ Макрос7 Макрос ‘​ замены​Сервис — Макрос -​ для Википедии. Там​For J =​В примере Aksima​ примере русских имён​ в Google. А​ удалите её, хуже​ E ZH Z​ U F KH​ «E», «YU», «YA»)​

​: По соображениям безопасности​ «Ts», «Ch», «Sh»,​ «CH», «SH», «SCH»,​ из категории​ «Макросы».​​ ‘ Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting​​Transliteraцija. Sohranenie formatirovanija​ Редактор Visual Basic​ реально люди тратят​ 0 To 64​ две функции и​ и отчеств)​ вобще лучьше учить​

ТранслитȎxcel

​ не станет :)​ I J K​​ TS CH SH​For i =​​ чуть измененный, но​ «Shch», «»», «Y»,​​ «»», «Y», «‘»,​​Определенные пользователем (User defined)​Хотя нет, такое​ With Selection.Find .Text​

​ teksta / VBA​), вставляем новый модуль​ по 2 часа,​If Rus(J) =​ одна процедура. Ни​Sergei Sonin​ английский.​Sergei Sonin​ L M N​ SCH » Y​ 1 To Len(txt)​ не потерявший смысла​ «‘», «E», «Yu»,​ «E», «JU», «JA»)​:​ имя всё-таки есть.​ = N1Z .Replacement.Text​________________________________________​ (меню​ чтобы ВРУЧНУЮ набрать​ с Then​ одну функцию Вы​: Раз уже затронули​Андрэич​

​: Подскажите, вот нашел​ O P R​ ‘ E YU​​c = Mid(txt,​​ структуры документ в​​ «Ya», «a», «b»,​For I =​В этом макросе варианты​​ Но когда я​ = «=» ‘N2Z​Kak mozhno sdelat’​Insert — Module​​ результаты ОДНОЙ ГОНКИ.​​outchr = Eng(J)​ просто так не​ эту тему и​: Здравствуйте,​ такой макрос:​ S T U​ YA»)​ i, 1)​ аттаче.​ «v», «g», «d»,​ 1 To Len(Txt)​

ТранслитȎxcel

​ замены русских букв​

planetaexcel.ru

Транслитерация. Сохранение форматирования текста

​ пытаюсь его изменить​​ .Forward = True​ transliteraцiju s sohraneniem​) и копируем туда​ Используя Макросы Excel​flag = 1​
​ запустите. Поэтому Aksima​ она размыта «в​Sergei Sonin​Option Explicit Function​ F KH TS​For i =​flag = 0​Файл удален​ «e», «e», «zh»,​с = Mid(Txt,​ английскими эквивалентами представлены​ или выполнить -​ .Wrap = wdFindContinue​ formatirovanija teksta?​ текст вот этих​ эту же задачу​Exit For​ дал Вам тестовую​ кирилицу», выкладываю вариант​, При обратной процедуре​ Translit$(iValue$) Dim iRussian$,​ CH SH SCH​ 1 To Len(txt)​For j =​- велик размер​ «z», «i», «y»,​ I, 1)​ согласно ГОСТ. Если​ пишет «Sub or​ .Format = False​111​ двух макросов:​ можно решить за​End If​ процедуру​ т/литерации UA-UK. Может​ я бы начал​ iCount%, iTranslit As​ » Y ‘​c = Mid(txt,​ 0 To 65​ — [​ «k», «l», «m»,​flag = 0​ для вашей задачи​ Function not defined»Макрос​ .MatchCase = False​Sasha_Smirnov​Sub Translate() Dim​ 5-10 минут.​

​Next J​​Sub Test​ кому пригодится:​ с сочетаний латинских​ Variant iRussian$ =​ E YU YA​
​ i, 1)​

​If RUS(j) =​​МОДЕРАТОРЫ​ «n», «o», «p»,​For J =​

​ нужны другие версии​​ для экселя. Ну​

​ .MatchWholeWord = False​​: Вот-вот!.. Да ещё​ cell1 as Range,​Как улучшить вышеуказанный​
​If flag Then​Теперь на нее​
​Function Translit(Txt As​
​ букв, имеющих наибольшую​ «АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдеёжзийклмнопрстуфхцчшщъыьэюя» iTranslit =​ a b v​
​flag = False​

​ c Then​​]​ «r», «s», «t»,​ 0 To 65​ (например, русская «я»​ и вставить это​ .MatchWildcards = False​ когда в начале​
​ cell2 As Range​
​ скрипт для следующей​ outstr = outstr​ и внимательно:​
​ String) As String​ длину.​ Array(«», «A», «B»,​ g d e​

​For j =​​outchr = Eng(j)​

​Михаил С.​​ «u», «f», «kh»,​If Rus(J) =​ должна выводиться как​ дело в​ .MatchSoundsLike = False​ Ж, Я и​ Dim i as​ базовой цели:​ & outchr Else​s = «АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдеёжзийклмнопрстуфхцчшщъыьэюя»​ ‘Запозичено з [url]http://www.moonexcel.ho.ua/[/url]​Например, так:​ «V», «G», «D»,​ zh z i​ 0 To 65​flag = 1​: Попробуйте еще раз​ «ts», «ch», «sh»,​ с Then​ «ja», а не​sub tt() end​ .MatchAllWordForms = False​ тому подобные дифтонги…​ Long, Langs As​Есть excel-документ. В​ outstr = outstr​ — в переменную​ _ index.php?page=tip_translit_ua ‘​Function Translit(ByVal sValue​ «E», «Jo», «Zh»,​ j k l​If RUS(j) =​Exit For​ и в формате​ «shch», «»», «y»,​outchr = Eng(J)​ как «ya» и​ subестественно нужно…​​ End With Selection.Find.Execute​​ (и кому это​
​ Long Langs =​ нём 4 листа​ & с​ загнали значение -​

​ дана функція виконує​​ As String) As​ «Z», «I», «Jj»,​ m n o​ c Then​End If​ 2003. Ваш файл​
​ «‘», «e», «yu»,​flag = 1​ т.д.), то можно​Hugo121​ Replace:=wdReplaceAll Selection.Find.Execute End​

​ нынче требуется, хотелось​​ 3 ‘количество языков​
​ («Лист1», «Мужчины», «Женщины»,​Next I​ русский алфавит (можете​ транслітерацію українських _​ String Dim sRussian​ «K», «L», «M»,​ p r s​outChr = Eng(j)​Next j​ не открывается. И​ «ya») s =​Exit For​ свободно подкорректировать это​, не, я говорю​ Sub​ бы знать!).​ перевода, включая русский​ «Флаги»). На Лист1​Translit = outstr​ заменить любой фразой​ букв латинськими (англ.)​ As String, iCount​ «N», «O», «P»,​ t u f​flag = True​If flag Then​ следите за размером​ Ячейка.Value For i​End If​ в теле макроса.​ про макрос​Yoooo​Как-как… инструментом Поиск-Замена!​ For Each cell1​ я ввёл фамилию​End Function​ русским языком). Потом​ Dim UkraineLang, EngLang​ As Integer, sTranslit​ «R», «S», «T»,​ kh ts ch​Exit For​ outstr = outstr​ (не более 100​ = LBound(sRussian) To​Next J​ Как легко догадаться,​shanemac51​: А если я​Иллюстрация: Макрос замены​ In ActiveSheet.Cells.SpecialCells(xlCellTypeConstants) For​ биатлонистки «CHEVALIER ANAIS».​dimakdd​ вызывается функция, которой​ As Variant Dim​ As Variant sRussian​ «U», «F», «H»,​ sh sch »​End If​ & outchr Else​

​ кБ)​​ UBound(sRussian) s =​If flag Then​ два первых массива​.Скопировал эти буквы, вставил​ хочу заменить букву​
​ сокращений в MS​ Each cell2 In​ Нужно, чтобы Макрос​: Здравствуйте. Для сайта​ передают переменную s.​

​ i&, j&, curChr$,​​ = «АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдеёжзийклмнопрстуфхцчшщъыьэюя» sTranslit​
​ «C», «Ch», «Sh»,​ y ‘ e​Next j​ outstr = outstr​KuklP​ Replace(s, sRussian(i), sTranslit(i),​ outstr = outstr​ Rus и Eng​ в Excel. Не​ «ч» символом č,​ Word 2003.​ Worksheets(«Словарь»).Cells.SpecialCells(xlCellTypeConstants) If cell1.Value​ видел эту фамилию​ Википедия нужен скрипт.​ Здесь трудно сразу​ outchr$, outstr$, flag​ = Array(«», «A»,​ «Zch», «»», «‘Y»,​ yu ya JO​outStr = outStr​ & c​: Миш, привет. И​ , , vbBinaryCompare)​ & outchr Else​ как раз и​ снимая выделения, в​ или букву «ш»​Кстати, список замен​ = cell2.Value Then​ при том, что​ Требуется около 100​ обяснить, потому-что результат​ As Boolean UkraineLang​ «B», «V», «G»,​ «‘», «Eh», «Ju»,​ jo»)​ & IIf(flag, outChr,​Next i​ я загрузить не​ Next i ТРАНСЛИТ​ outstr = outstr​ кодируют эти подстановки.​ окне Immediate VBA​ символом š?​ оформляется также; вот​ i = cell2.Column​ «База данных» с​ фамилий биатлонистов «переделать»​ выводится в Immediate.​ = Array(«а», «б»,​ «D», «E», «Jo»,​ «Ja», «a», «b»,​out = Space(Len(txt)​ c)​Translit = outstr​ смог.​ = s End​ & с​Для новых версий Excel​ Код for each​

​Что тогда писать​​ испытанный пример: Форматирование​​ If i =​​ этой фамилией расположена​ с латиницы (и​ Но Вы можете,​ «в», «г», «д»,​
​ «Zh», «Z», «I»,​ «v», «g», «d»,​
​ * 3)​
​Next i​
​End Function​
​75070​
​ Function​
​Next I​
​ 2007-2010 и т.д.​
​ x in selection:debug.?​
​ в строке arrTranslit​ текста.​ Langs Then i​ на третьем листе​ не только) на​

​ после s= «AБ….»​​ «е», «є», «ж»,​ «Jj», «K», «L»,​
​ «e», «jo», «zh»,​For i =​
​Translit = outStr​Казанский​Михаил С.​II4eJI​

​Translit = outstr​​ не забудьте сохранить​ ascw(x):next 271 357​ = Array если​Hugo121​ = 1 Else​ (т.е. на листе​ кириллицу. Нужно именно​ дописать​ «з», «і», «ї»,​ «M», «N», «O»,​
​ «z», «i», «jj»,​ 1 To Len(txt)​End Function​: Дописал оболочку​: Привет!​: Здравсвуйте, есть вариант​End Function​ вашу книгу как​ 263 378 347​ там эти символы​
​: рисунок​ i = i​​ «Женщины»).​​ по принципу:​dim mNewString as​​ «й», «к», _​​ «P», «R», «S»,​ «k», «l», «m»,​j = AscW(Mid$(txt,​MCH​Function FamIO(s As​Игорь, файл то​ в экселе перевести​4. Сохранить.​ файл с поддержкой​

CyberForum.ru

​ 341 324 322​

Понравилась статья? Поделить с друзьями:

А вот еще интересные статьи:

  • Как заменить картинку в word
  • Как заменить кавычки в тексте word
  • Как заменить изображение в word
  • Как заменить значок в excel
  • Как заменить значения только в одном столбце excel

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии