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

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

Надстройка для транслитерации или кодирования (замены символов их кодами) выделенного диапазона ячеек 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 год 42 недели назад
Тестовый файл для надстройки - с формулами транслита28 КБ211 год 21 неделя назад

Комментарии

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

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

Спасибо большое! Отлично работает!

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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