mail mail
Нужен макрос для Excel?
Сделайте заказ прямо сейчас!
Ищете готовое решение?
Выбирайте и покупайте!
У вас есть интернет-магазин?
Настроим парсер под любой сайт!

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

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

Надстройка для транслитерации или кодирования (замены символов их кодами) выделенного диапазона ячеек 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) Программа перебирает все ячейки в цикле - поэтому обработка может работать медленно при больших диапазонах обрабатываемых данных.

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

 

 

ВложениеРазмерЗагрузкиПоследняя загрузка
Translit.xla75 КБ301 год 20 недель назад
Тестовый файл для надстройки - с формулами транслита28 КБ2151 неделя 3 дня назад

Комментарии

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".

После того как вы в настройках поменяли список букв, - надо заново запустить обработку данных, чтобы в тексте изменения произошли.
А если на листе используются формулы транслитерации, - нажмите F9 для принудительного пересчета формул.

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

Пароль: 1
Чтобы буквы поменять, пароль не нужен. Я специально на панель инструментов вывел 2 кнопки, - скрыть / отобразить лист настроек, на котором можно задать те самые буквы.

Надстройка работает отлично. Единственное - огромная просьба написать пароль к макросу, чтобы исправить некоторые буквы... Это очень важно

Добрый день. Нужно модифицировать надстройку под свои нужды (увеличить справочник автозамен с 33 символов до 100(примерно). Вопрос автору, напишите, как с Вам связаться.
Нужен пароль на редактирование. Буду премного благодарен.

Надо попробовать

Хорошая надстройка, только минус в том что составные большие русские буквы в транслитерации получаются большими.
Т.е. "Я" получается как "YA". А хотелось бы как "Ya".

спасибо, очень ценная надстройка!

Спасибо, большое. Очень помогло транслитерировать столбик в 1500 названий.

Еще раз спасибо!

Здравствуйте, Евгений.

А что, собственно, объяснить?
Вроде бы, надстройка и выполняет такую замену (несколько символов латиницы на кириллицу)
В чем проблема-то? Что конкретно не получается?

Большое спасибо! Супер!
Если можно, объясните новичку, как можно заменить несколько символов в латинице. Обратная транслитерация (EN - RU) не требуется.

Спасибо огромное! Спасли драгоценное время! Респект!

Спасибо огромное! Работает на УРА только нужно под свои нужды немного допиливать - естественно, так держать !!!

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
CAPTCHA
Подтвердите, пожалуйста, что вы - человек:
  ____    _____  __        __  ____    _____       _ 
/ ___| |___ / \ \ / / |___ \ |___ / | |
\___ \ |_ \ \ \ /\ / / __) | |_ \ _ | |
___) | ___) | \ V V / / __/ ___) | | |_| |
|____/ |____/ \_/\_/ |_____| |____/ \___/
Введите код, изображенный в стиле ASCII-арт.

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

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