Одна из типовых ситуаций, с которой все мы однажды сталкиваемся: кто-то (возможно даже мы сами) при наборе текстовой информации в ячейку, случайно использовал английские буквы (латиницу) вместо русских (кириллицы). Допустить такую ошибку достаточно легко, особенно если учесть изощренное расположение некоторых символов в стандартной раскладке клавиатуры.
Ну какому идиоту, скажите мне, пришло в голову помещать на одну клавишу две одинаковых по написанию буквы (английская "си" и русская "эс")? Да и с другими символами не лучше. Но, как говорится, "фарш невозможно провернуть назад" — текущая раскладка давно стала стандартом и никуда от этого не деться.
Использование символов латиницы в русском тексте порождает огромное количество проблем. От путаницы при банальной сортировке по алфавиту до некорректной консолидации данных при автоматическом объединении нескольких таблиц в одну. Выискивать похожие по виду символы и проверять не являются ли они символами английской раскладки крайне муторно. Поэтому поищем более изящные варианты.
Способ 1. Шрифт без кириллицы

Выделите диапазон ячеек с проверяемым текстом и временно установите для него любой шрифт не содержащий кириллицу, например Albertus или любой аналогичный (находится методом тыка). Внешний вид символов кириллицы и латиницы станет отличаться и можно будет легко визуально локализовать некорректные символы:
Способ 2. Функция IsLatin на VBA
Создадим пользовательскую функцию (назовем ее, например, IsLatin), которая будет проверять — присутствуют ли в заданной ячейке символы английского алфавита и выдавать в качестве результата логическое значение ИСТИНА или ЛОЖЬ. Откройте редактор Visual Basic сочетанием клавиш ALT+F11 или в старых версиях Excel — через меню Сервис — Макрос — Редактор Visual Basic (Tools — Macro — Visual Basic Editor) , вставьте новый модуль (меню Insert — Module) и скопируйте туда текст этой функции:
re>Public Function IsLatin(str As String) str = LCase(str) LatinAlphbet = "*[abcdefghijklmnopqrstuvwxyz]*" If str Like LatinAlphbet Then IsLatin = True Else IsLatin = False End If End Function

Закройте редактор Visual Basic и вернитесь в Excel. Теперь в Мастере функций в категории Определенные пользователем (User Defined) можно найти нашу функцию IsLatin и воспользоваться ей. Синтаксис функции следующий: =IsLatin(A2) где для примера А2 — это адрес ячейки, содержащей текст Функция выдаст значение ИСТИНА (TRUE), если найдет в тексте А2 хотя бы один символ латиницы. В противном случае функция вернет значение ЛОЖЬ (FALSE):
Способ 3. Подсветка символов латиницы красным цветом шрифта
Откройте редактор Visual Basic сочетанием клавиш ALT+F11 или в старых версиях Excel — через меню Сервис — Макрос — Редактор Visual Basic (Tools — Macro — Visual Basic Editor) , вставьте новый модуль (меню Insert — Module) и скопируйте туда текст этого макроса:
re>Sub ShowLatin() For Each c In Selection For i = 1 To Len(c) If (Asc(Mid(c, i, 1)) >= 65 And Asc(Mid(c, i, 1)) = 97 And Asc(Mid(c, i, 1))

Закройте редактор Visual Basic и вернитесь в Excel. Если теперь выделить интересующий диапазон ячеек (только не весь столбец или лист — а то считать до конца дня будет!) и запустить наш макрос с помощью сочетания клавиш ALT+F8 или через меню Сервис — Макрос — Макросы (Tools — Macro — Macros) , то символы латиницы выделятся красным цветом шрифта:
Ссылки по теме
- Подсветка латиницы с помощью надстройки PLEX
- Что такое макросы, куда вставлять код макроса, как их использовать
Как найти в документе текст на иностранном языке
Как из англо-русского текста выделить и скопировать или удалить только текст одного языка?
Вам нужно использовать диалоговое окно Найти и Заменить (Ctrl+H), в котором в поле Найти установить формат Язык:английский. Будут найдены английские тексты. Но обратите внимание, что возможно будет выделен и русский текст, который был вставлен в документ при английской раскладке клавиатуры.
А вообще-то есть более общая заметка по этому поводу: Быстрый поиск форматированного текста
Еще записи по вопросам использования Microsoft Word:
- вопросов и ответов по редактору Word (1 часть)
- Word 2007: добавляем свою вкладку и свои команды
- Word 2007: полотно, рисунки, линии
- Word 2007: смена формата сохранения файла
- Word 97 — решение проблемы с отображением символов на линейке
- Word 97. Слияние документов как один из способов упростить свою работу
- Абзац с цветным фоном
- Автозаполняемые колонтитулы
- Автоматизация текстового набора в Word
- Автоматическая нумерация билетов
- Автоматическая расстановка переносов
- Автоматическое обновление полей при открытии документа
- Автоматическое сохранение документа при его закрытии
- Автотекст с последовательной нумерацией
- Автоформат документов
- Белый текст на синем фоне в Word 2007
- Буквица
- Быстрая смена ориентации страниц документа
- Быстрое изменение стиля форматирования текста
- Быстрое удаление границ у таблицы
- Быстрый поиск форматированного текста
- В чем различие между Автозаменой и Автотекстом
- В чем различие между стилями Обычный (Normal) и Основной текст (Body Text)?
- Ввод повторяющихся фрагментов текста в Word 2007
- Ввод часто повторяющихся фрагментов текста
Комментариев: 2
27.01.2012 в 08:35 | #1
Здравствуйте. Подскажите, пожалуйста, у меня готовый макрос есть, но ее надо преобразовать так, что бы он работал автоматически в определенных Excel файлах и без нажатый какой либо кнопки. То есть когда открывается тот определенный файл, который макрос должен работать, он сам по себе и без всяких кнопок автоматически работает, вот сам макрос:
re>private Sub Workbook_Open() CloseApplication End Sub Sub CloseApplication() Application.DisplayAlerts = False Application.SaveWorkspace Application.Quit End Sub
его надо привязать к определенным файлам excel

27.01.2012 в 09:26 | #2
В связи с темой раздела – небольшое дополнение. Иногда (особенно при распознавании текстов) русские буквы (кириллица) воспринимаются программой как английский текст и, наоборот, латинские буквы – как русский текст. В результате плохо работает функция проверки правописания.
Вот простая процедура преобразования кириллических символов в русский текст: Открываем диалоговое окно Найти и заменить (Ctrl+H). В поле Найти записываем выражение ([А-я]) и устанавливаем формат Язык:английский. В поле Заменить записываем выражение 1 (т.е. заменить на те же самые знаки) и устанавливаем формат Язык:русский. Обязательно устанавливаем галочку Подстановочные знаки.
После нажатия кнопки Заменить все кириллические символы преобразуются в русский текст. Желающие легко могут модифицировать эту процедуру для преобразования латинских символов в английский текст и, при необходимости, написать соответствующий макрос. Успехов!
Как в Word найти слово за 5 секунд
Всем привет, наши дорогие читатели. Сегодня мы поговорим про функцию поиска по словам в программе Ворд. Это очень важная тема для тех людей, которые постоянно работают с большими текстами, документами, приказами и прочими подобными файлами. Мы рассмотрим как обычный поиск, так и расширенный, который поможет вам найти глубоко спрятанное слово или даже целое предложение.
Способ 1: Обычный поиск

Итак, как же нам в Ворде найти конкретное слово, предложение, цифру или любой другой набор символов. Для этого можно воспользоваться обычным поиском.
- Проще и быстрее всего открыть «Поиск» с помощью сочетания горячих клавиш – одновременно зажмите кнопки:
Ctrl + F
ПРИМЕЧАНИЕ! Это сочетание работает не только в Word, но и других программах, где есть хоть какой-то текст. Это также касается и всех современных браузеров.
- Второй способ – это найти функцию на панели инструментов. Перейдите на «Главную».

- Найдите кнопку лупы с надписью «Редактирование» и нажмите по ней.

- Откройте дополнительное контекстное меню, где нужно будет выбрать функцию «Найти».

- Слева откроется строка «Навигации». Чтобы произвести поиск по тексту в Ворде – введите слово и нажмите Enter .

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

Способ 2: Расширенный поиск
Как в Ворде найти слово в тексте, если обычный поиск не помогает? – в таком случае вы можете попробовать воспользоваться расширенным поиском, который обладает большим количеством параметров и имеет продвинутые методы фильтров. Функция расширенного поиска находится рядом с обычной функцией «Найти».

На первой вкладке можно ввести слово и попробовать его найти. На вкладке «Заменить», есть возможность найти и заменить одни слова на другие. Вы можете сразу выделить слова желтым цветом, которые будут подсвечены постоянно.

Нас же интересуют дополнительные параметры – кликните левой кнопкой мыши по кнопке «Больше». Здесь можно задать точные свойства фильтрации поиска. Например, вы можете учитывать регистр (большие и маленькие буквы). Или, например, искать слово целиком, учитывать префиксы и суффиксы и даже не использовать пробелы. Внимательно ознакомьтесь с каждым параметром.

При поиске какого-то определенного слова, попробуйте не вводить окончание. В некоторых случаях помогает ввод только корня. На этом, дорогие и любимые наши читатели, статья подошла к концу. Пишите в комментариях, свои вопросы и пожелания. Ждем вас снова на наших уроках по Word на портале WiFiGiD.RU.




