На главнуюКонтактыКарта сайта
В коробке инженера
В коробке инженера
Обзоры программ, интересных блогов и программирование
Заметки о Rastrwin, Matlab
  • Twitter Colee

Excel: быстрое изменение регистра букв

Автор: colee | Рубрика: Useful trash » Программы
Среда, 4 июня 2014 г.
Теги: , , , , Просмотров: 14119

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

Для решения этой проблемы можно воспользоваться следующими способами:

  1. Установка дополнительных надстроек (Add-ins) для Excel
  2. Создание макроса по изменению регистра текста и установка в личную книгу макросов
  3. Использование встроенных текстовых формул

Надстройки для Excel

Самое простое это, конечно, установить надстройку для Excel, например ASAP Utilities. Здоровым плюсом является наличие бесплатной лицензии для установки дома.

Среди многих функций есть нужные нам для работы с текстом

ASAP Utilities

Создание и установка макроса в личную книгу

На мой взгляд, оптимальным для работы является второй способ.

Для начала нужно открыть личную книгу макросов, так как по умолчанию ее нет. Для этого нужно нажать на запись макросов

Запись макросов

После выбрать место сохранения нового макроса

Запись макросов

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

Остановка макросов

После этого идем в редактор макросов (Alt+F11) (по умолчанию, можно воспользоваться панелью Разработчик, которое спрятано - чтобы открыть, надо зайти в Настройки - Основные - Показывать вкладку "Разработчик")

Редактор макросов

и в Module1 нужно записать следующее

Sub СделатьПрописными()
    For Each cel In Selection.Cells
        If cel.Text <> "" Then cel.Value = StrConv(cel.Text, vbUpperCase)
    Next
End Sub
Sub СделатьСтрочными()
    For Each cel In Selection.Cells
        If cel.Text <> "" Then cel.Value = StrConv(cel.Text, vbLowerCase)
    Next
End Sub
Sub СделатьПрописнойТолькоПервуюБукву()
    For Each cel In Selection.Cells
        If cel.Text <> "" Then cel.Value = StrConv(cel.Text, vbProperCase)
    Next
End Sub

Примерно должно получится следующее

Вставка макросов в личную книгу макросов

После этого в меню макросов (Alt+F8) будет доступны нужные макросы

Макросы

И как результат

Резльтат

Макросы в текстовых файлах для скачки

Macros1.txt 6

Macros2.txt 5

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

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

Для преобразования в прописные нужно использовать функцию =ПРОПИСН(текст), для преобразования в строчные - функцию =СТРОЧН(текст)

Преобразование в прописные

Преобразование в строчные

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

=ПРОПИСН(ПСТР(C1;1;1))&СТРОЧН(ПСТР(C1;2;ДЛСТР(C1)-1))

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

Пример файла Excel 5

Всем удобной работы с текстом...


Поделиться с друзьями:
twitter.com facebook.com vkontakte.ru odnoklassniki.ru mail.ru ya.ru digg.com blogger.com livejournal.ru google.com yandex.ru del.icio.us

Комментариев: 4

kolio
Комментарий отправлен 2015-04-02 в 08:59:20 · Ссылка

спасибо

всё работает

отдельно спасибо за файл-пример

он ускорил задачу

Владислав
Комментарий отправлен 2015-09-03 в 11:05:41 · Ссылка

сложная формула для заглавных не нужна, есть функция ПРОПНАЧ

colee
Комментарий отправлен 2015-09-03 в 21:47:04 · Ссылка

а как же всеми любимый танец с бубнами?)

Да, формула то, что надо

Сергей vsbani.kiev.ua
Комментарий отправлен 2016-03-25 в 17:58:12 · Ссылка

Спасибо большое автору, долго искал решение - сложная формула это самое то! Спасибо большое!!!

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

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

Ваш E-mail не публикуется, используется для обратной связи и для выбора аватара с сайта gravatar.com

Публикуется вместе с комментарием

усмешка LOL сыр улыбка подмигнуть ухмылка глаза в сторону в тупике удивление большое удивление малинка пустое лицо сдвинутая бровь Оо гррр ох ох неудачник смущенный больной Тау хммм бешенный злой клевый поцелуй шок крутой недовольный

Запрещается оскорблять окружающих и использовать ненормативную лексику

Вы должны включить JavaScript, чтобы оставить сообщение