Как проверить кириллицу или латиницу в Excel

Обновлено: 03.07.2024

Я пытаюсь преобразовать текст из сербской латиницы в сербскую кириллицу.
Текст находится в столбце A рабочего листа в Excel. Поэтому я записал
макрос с помощью функции поиска и замены. Ручной поиск и
замена работают отлично (но доставляют много хлопот), но макрос
записывается неправильно.

Например, я хочу, чтобы буква "d" была заменена на "Ä". В редакторе макросов
прописано следующее:

Selection.Replace What:="d", Replace:="_", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=True

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

что следует читать

Есть ли способ обойти эту проблему? Спасибо!

Реклама

Джон МакГи

В определенных пределах это можно обойти.

В зависимости от того, какая у вас версия Excel, VBA может передавать в виде строк только
символы ANSI. Вам нужен Юникод.

Затемнить MyWanted Char до нужной длины

Selection.Replace What:="d", Replace:=MyWantedChar, _
LookAt:=xlPart, SearchOrder:=xlByRows, MatchCase:=True


ChrW ожидает четырехзначный шестнадцатеричный аргумент, но вы можете указать Decimal как
целое число, которое вы предпочитаете.

Я пытаюсь преобразовать текст из сербской латиницы в сербскую кириллицу.
Текст находится в столбце A рабочего листа в Excel. Поэтому я записал
макрос с помощью функции поиска и замены. Ручной поиск и
замена работают отлично (но доставляют много хлопот), но макрос
записывается неправильно.

Например, я хочу, чтобы буква "d" была заменена на "ä". В редакторе макросов
прописано следующее:

Selection.Replace What:="d", Replace:="_", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=True

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

что следует читать

Есть ли способ обойти эту проблему? Спасибо!

Пожалуйста, ответьте в группе. Пожалуйста, НЕ пишите мне по электронной почте, если я вас об этом не попрошу.

Джон МакГи, Microsoft MVP, Word и Word: Mac
Нхулунби, Северная Каролина, Австралия. mailto:[электронная почта защищена]

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

Как инструмент Language Check может помочь вам в работе

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

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

[!] Инструмент не работает со сложными скриптовыми языками: восточноазиатскими (китайский, японский, корейский), юго-восточноазиатскими (тайский, вьетнамский и др.), арабскими языками и др.

Инструмент может быть полезен в следующих случаях:

  • Из-за форматирования ячейки текст может быть скрыт под другой ячейкой или полностью скрыт от просмотра (например, если для ячейки отключен параметр "Перенос текста").
  • Из-за ограниченных возможностей редактирования текста в Excel можно пропустить текст во время перевода.

Пример – результаты проверки языка

Скриншот: результаты проверки языка инструмент

Приведенный выше пример был переведен с русского на английский, а затем проверен с помощью инструмента «Проверка языка» (настройки: «Весь рабочий лист», «Желтый цвет выделения»). Инструмент обнаружил одну ячейку (без переноса), текст которой простирается полностью слева направо — «непереведенный» текст заключен в красный кружок.

Где найти инструмент

Чтобы запустить инструмент проверки языка, нажмите его кнопку на ленте TransTools в Excel:

Кнопка инструмента проверки языка на ленте

Использование инструмента проверки языка

Скриншот: Диалог проверки перевода

  1. Направление: выберите направление, в котором была переведена электронная таблица (исходный язык -> формат целевого языка).Например, если текст был переведен с русского на английский, выберите Русский -> Английский. Справку по настройке доступных языковых пар см. в разделе конфигурации TransTools.
  2. Весь рабочий лист — выберите этот вариант, если хотите проверить весь активный рабочий лист.
  3. Выбор — выберите этот вариант, если хотите проверить только выбранный диапазон. Выбор может быть выделенным диапазоном, текстовым полем или группой фигур, содержащих текстовые поля.
  4. Цвет выделения: выберите предопределенный цвет, который будет использоваться для выделения ячеек. Примечание. Убедитесь, что выбранный вами цвет еще не используется на листе в качестве цвета фона ячейки, иначе вы не сможете восстановить исходный фон после проверки (см. команду «Удалить выделение»).
  5. Вычислять формулы: этот параметр позволяет проверять текст ячеек, содержащих формулы. Электронные таблицы часто содержат вычисляемые ячейки, содержимое которых зависит от содержимого других ячеек. Если эта опция используется, TransTools будет выделять ячейки с «непереведенным» текстом. Если этот параметр не включен, TransTools игнорирует вычисляемые ячейки.

Выбрав нужные параметры, нажмите Продолжить. Чтобы выйти, нажмите Отмена.

  • Поскольку Excel не имеет эквивалента цвета выделения Word, инструмент вместо этого меняет цвет фона ячеек. Вам придется найти «непереведенный» текст самостоятельно.
  • Используйте инструмент «Удалить выделение», чтобы сбросить выбранный цвет фона на «Без цвета». Вы можете сделать то же самое вручную, как описано здесь.

Эту команду нельзя выполнить. Однако из-за ограничений в Microsoft Excel, как только вы воспользуетесь этим инструментом, вы сможете отменить только последнее действие, а все, что было сделано до этого, будет забыто. Помните об этом при использовании TransTools для Microsoft Excel и сохраняйте резервную копию электронной таблицы, которую вы обрабатываете с помощью TransTools.

Микаэль использует датскую версию Excel. Если он использует функцию ТЕКСТ для форматирования дат, например, ТЕКСТ(A1,"мммм, гггг"), возвращаемый текстовый формат показывает месяцы на датском языке. Вместо этого он хотел бы, чтобы месяцы возвращались на английском языке, и задается вопросом, как он может указать функции ТЕКСТ, какой язык ей следует использовать.

Есть несколько способов решить эту проблему. Первый применим, если вам просто нужно отобразить дату (и ничего больше) в ячейке — просто не используйте функцию ТЕКСТ. Вы можете легко отформатировать ячейку для отображения даты на любом языке; выполните следующие действия:

  1. Выберите ячейку (или ячейки), которую нужно отформатировать.
  2. Отобразить вкладку "Главная" на ленте.
  3. Нажмите на маленький значок в правом нижнем углу группы "Число". Excel отображает вкладку «Число» диалогового окна «Формат ячеек». (См. рис. 1.)


Рисунок 1. Вкладка "Число" диалогового окна "Формат ячеек".

Если вы используете функцию рабочего листа ТЕКСТ, потому что она является частью более крупной формулы, вы можете указать самой функции использовать другой язык для вывода. Для этого вы включаете код языка (формально называемый LCID) в квадратных скобках следующим образом:

Обратите внимание, что код в квадратных скобках находится внутри строки формата, а самому коду предшествует знак доллара и тире. Код состоит из трех или четырех шестнадцатеричных цифр. (На самом деле все LCID могут быть выражены четырьмя шестнадцатеричными цифрами, но если первая цифра — ноль, вам не нужно включать ее.) В приведенном выше примере показано, как выразить результаты на английском языке, но вы можете выбрать любую из широкий спектр стран:

< td>042C td> < td>0456< td>0411 < tr> < tr> td> td>< td>043D
Код Язык
0436 Африкаанс
041C албанский
045E амхарский
0401 Арабский
042B Армянский
044D Ассамский
082C Азери (кириллица)
Азери (латиница)
042D Баскский язык
0423 белорусский
0445 бенгальский
0402болгарский
0403 каталонский
045C Чероки
0804 Китайский (упрощенный)
0404 Китайский (традиционный)
041A Хорватский
0405 Чешский
0406 Датский
0465 Дивехи
0413 Голландский
0466 Эдо
0C09 Английский (австралийский)
1009 Английский (канадский)
0809 Английский (Великобритания)
0409 Английский (США)
0425 Эстонский
0438 Фарерский
0464 Филиппинский
040B Финский
040C Французский
0C0C Французский (канадский)
0462 Фризский
0467 Фульфульде
Галицкий
0437 Грузинский
0407< /td> немецкий
0C07 немецкий (австрийский)
0807 немецкий (швейцарский)
0408 греческий
0447 Гуджарати
0468 Хауса
0475 Гавайский
040D иврит
0439 хинди
040E Венгерский
0469 Ибибио
040F исландский
0470 игбо
0421 Индонезийский
045D Инуктитут
0410 Итальянский
японский
044B каннада
0471< /td> канури
0460 кашмирский (арабский)
043F Казахский
0457 Конкани
0412 Корейский
0440 Кыргызский
0476 Латинский
0426 латышский
0427 литовский
042F Македонский БЮРМ
043E Малайский
044C Малайялам
043A Мальтийский
0458 Манипури
044E Маратхи
0450 Монгольский
0461 Непальский
0414 Норвежский букмал
0814 Норвежский нюнорск
0448 Ория
0472 Оромо
0463 Пушту
0429 Персидский
0415 Польский
0416Португальский (Бразилия)
0816 Португальский (Португалия)
0446 панджаби
0418 румынский
0419 Русский
044F Санскрит
0C1A Сербский (кириллица)
081A сербский (латиница)
0459 синдхи
045B сингальский
041B словацкий
0424 Словенский
0477 Сомалийский
0C0A испанский
0441 суахили
041D Шведский
045A Сирийский
0428 Таджикский
045F Тамазигхт (арабский)
085F Тамазиг ht (латиница)
0449 тамильский
0444 татарский
044A телугу
041E тайский
0873 Тигринья (Эритрея)
0473 Тигринья (Эфиопия)
041F Турецкий
0442 Туркменский
0422 Украинский
0420 Урду
0843 Узбекский (кириллица)
0443 Узбекский (латиница)
042A Вьетнамский
0478 Йи
идиш
046A йоруба

Биография автора

На его счету более 50 научно-популярных книг и множество журнальных статей. Аллен Уайатт является всемирно признанным автором. Он является президентом Sharon Parq Associates, компании, предоставляющей компьютерные и издательские услуги. Узнайте больше об Аллене.

Франк написал нам, спрашивая, есть ли хороший способ найти только японские иероглифы в истории InDesign. Как найти только этих персонажей? Или просто русский (кириллица), или просто орнаменты, или — если уж на то пошло — искать только латинские буквы? Ответом, конечно же, является вкладка GREP диалогового окна «Найти/Заменить» (CS3 и более поздние версии).

Поиск только латинских символов

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

в поле «Найти что» на вкладке GREP диалогового окна «Найти/Заменить». И символ вертикальной черты, и квадратные скобки действуют как команды «или», поэтому это означает «любой символ между a и z или между A и Z» (тогда символ «плюс» означает строку из одного или нескольких из них).


Ещё больше после прыжка!Продолжить чтение можно ниже
Подписчики Free и Premium видят меньше рекламы! Зарегистрируйтесь и войдите сегодня.

Он не найдет символы с диакритическими знаками, потому что эти символы не попадают строго между a и z в списках Unicode. Все это основано на числах Unicode, как мы увидим позже.

Если вы хотите найти более длинные строки, включая пробелы, большинство знаков препинания, числа и т. д., вы можете использовать этот длинный список, который предлагает еще больше символов в квадратных скобках "или":

Вы также можете перевернуть этот код и сказать "любой символ, которого нет в этом списке", добавив в начале символ ^ (курсор):

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

Поиск диапазонов Unicode

Как я упоминал ранее, поиск/изменение основаны на значениях Юникода. Например, заглавная буква А — это 0041, заглавная Z — это 005А и так далее. (Значения Unicode основаны на четырех шестнадцатеричных числах, что является причудливым способом сказать, что каждое число может быть от 0 до 9 или AF.) Таким образом, если вы знаете диапазон значений Unicode, вы действительно можете набрать GREP для точного вы ищете.

Например, вот пример GREP для поиска всех японских символов:

Сначала это кажется сложным, но через некоторое время вы заметите, что это просто список из трех диапазонов, разделенных вертикальной чертой. Технически это означает все символы, которые попадают в раздел кандзи Юникода (от 4E00 до 9FBF), или всю хирагану (от 3040 до 309F), или всю катакану. (Я нашел их на странице японской письменности в Википедии.)

Применение другого шрифта к этим символам

Конечно, после того, как вы нашли символы, вы, вероятно, захотите что-то с ними сделать, например изменить их шрифт или применить стиль символов. Вы также можете сделать это в диалоговом окне «Найти/Заменить»:

Применение стиля символов к японскому тексту с помощью GREP

Обратите внимание, что поле "Изменить на" пусто. Это указывает на то, что вы хотите оставить текст в покое — независимо от того, что найдет InDesign — и применить форматирование только к нему.

Читайте также: