Макрос excel заглавные буквы

Версия данной статьи для Microsoft Excel 2000:213649 (Эта ссылка может указывать на содержимое полностью или частично на английском языке).

Версия данной статьи для Microsoft Excel 98 и более ранних версий:141094 (Эта ссылка может указывать на содержимое полностью или частично на английском языке).

Аннотация

Хотя в Microsoft Excel имеются функции для изменения регистра текста, в некоторых случаях может потребоваться изменить регистр текста программно.

В данной статье приведены три примера макросов на языке Microsoft Visual Basic для приложений (процедуры Sub), которые можно использовать, чтобы сделать все буквы в текстовой строке прописными, строчными или сделать прописной только первую букву каждого слова. Эти действия аналогичны функциям Excel =ПРОПИСН(), =СТРОЧН() и =ПРОПНАЧ().

Дополнительная информация

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

Макрос для преобразования всех букв в тексте в указанном диапазоне ячеек в прописные

Sub Uppercase()
' Цикл по каждой ячейке в указанном диапазоне.
For Each x In Range("A1:A5")
' Изменить буквы текста в диапазоне на прописные.
x.Value = UCase(x.value)
Next
End Sub

Макрос для преобразования всех букв в тексте в указанном диапазоне ячеек в строчные

Sub Lowercase()
' Цикл по каждой ячейке в указанном диапазоне.
For Each x In Range("B1:B5")
x.Value = LCase(x.Value)
Next
End Sub

Макрос для преобразования в прописные только первых букв слов в тексте в указанном диапазоне ячеек

Sub Proper_Case()
' Цикл по каждой ячейке в указанном диапазоне.
For Each x In Range("C1:C5")
' В языке Visual Basic для приложений отсутствует функция Proper.
' Поэтому необходимо воспользоваться функцией листа в следующем виде:
x.Value = Application.Proper(x.Value)
Next
End Sub

Проверка макросов

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

  1. В книге, в которой содержатся макросы, введите на новом листе указанные ниже данные.
    A1: toM B1: toM C1: toM
    A2: sUe B2: sUe C2: sUe
    A3: joe SMITH B3: joe SMITH C3: joe SMITH
    A4: mary B4: mary C4: mary
    A5: LORI B5: LORI C5: LORI
    Примечание. Тестовые данные содержат текст в различных регистрах, что позволяет проверить, как работает каждый макрос.

  2. Запустите каждый макрос.

Текст в указанном в макросе диапазоне ячеек (строка «For each x in …») будет отформатирован, соответственно, в верхнем регистре, нижнем регистре или первые буквы каждого слова будут преобразованы в прописные.

Ссылки

Дополнительные сведения об использовании функций листа для изменения регистра текста см. в следующей статье базы знаний Майкрософт:

263580 Изменение регистра текста в Excel (Эта ссылка может указывать на содержимое полностью или частично на английском языке)Дополнительные сведения о получении справки по языку Visual Basic для приложений см. в следующей статье базы знаний Майкрософт:

305326 Список ресурсов для разработчиков на языке Visual Basic для приложений (Эта ссылка может указывать на содержимое полностью или частично на английском языке)

Нужна дополнительная помощь?

Содержание

  • Трансформация строчных символов в прописные
    • Способ 1: функция ПРОПИСН
    • Способ 2: применение макроса
  • Вопросы и ответы

Заглавная буква в Microsoft Excel

В некоторых ситуациях весь текст в документах Excel требуется писать в верхнем регистре, то есть, с заглавной буквы. Довольно часто, например, это нужно при подаче заявлений или деклараций в различные государственные органы. Чтобы написать текст большими буквами на клавиатуре существует кнопка Caps Lock. При её нажатии запускается режим, при котором все введенные буквы будут заглавными или, как говорят по-другому, прописными.

Но, что делать, если пользователь забыл переключиться в верхний регистр или узнал о том, что буквы нужно было сделать в тексте большими лишь после его написания? Неужели придется переписывать все заново? Не обязательно. В Экселе существует возможность решить данную проблему гораздо быстрее и проще. Давайте разберемся, как это сделать.

Читайте также: Как в Ворде сделать текст заглавными буквами

Трансформация строчных символов в прописные

Если в программе Word для преобразования букв в заглавные (прописные) достаточно выделить нужный текст, зажать кнопку SHIFT и дважды кликнуть по функциональной клавише F3, то в Excel так просто решить проблему не получится. Для того, чтобы преобразовать строчные буквы в заглавные, придется использовать специальную функцию, которая называется ПРОПИСН, или воспользоваться макросом.

Способ 1: функция ПРОПИСН

Сначала давайте рассмотрим работу оператора ПРОПИСН. Из названия сразу понятно, что его главной целью является преобразование букв в тексте в прописной формат. Функция ПРОПИСН относится к категории текстовых операторов Excel. Её синтаксис довольно прост и выглядит следующим образом:

=ПРОПИСН(текст)

Как видим, оператор имеет всего один аргумент – «Текст». Данный аргумент может являться текстовым выражением или, что чаще, ссылкой на ячейку, в которой содержится текст. Данный текст эта формула и преобразует в запись в верхнем регистре.

Теперь давайте на конкретном примере разберемся, как работает оператор ПРОПИСН. У нас имеется таблица с ФИО работников предприятия. Фамилия записана в обычном стиле, то есть, первая буква заглавная, а остальные строчные. Ставится задача все буквы сделать прописными (заглавными).

  1. Выделяем любую пустую ячейку на листе. Но более удобно, если она будет располагаться в параллельном столбце тому, в котором записаны фамилии. Далее щелкаем по кнопке «Вставить функцию», которая размещена слева от строки формул.
  2. Переход в Мастер функций в Microsoft Excel

  3. Запускается окошко Мастера функций. Перемещаемся в категорию «Текстовые». Находим и выделяем наименование ПРОПИСН, а затем жмем на кнопку «OK».
  4. Переход в окно аргументов функции ПРОПИСН в Microsoft Excel

  5. Происходит активация окна аргументов оператора ПРОПИСН. Как видим, в этом окне всего одно поле, которое соответствует единственному аргументу функции – «Текст». Нам нужно в это поле ввести адрес первой ячейки в столбце с фамилиями работников. Это можно сделать вручную. Вбив с клавиатуры туда координаты. Существует также и второй вариант, который более удобен. Устанавливаем курсор в поле «Текст», а потом кликаем по той ячейке таблицы, в которой размещена первая фамилия работника. Как видим, адрес после этого отображается в поле. Теперь нам остается сделать последний штрих в данном окне – нажать на кнопку «OK».
  6. Окно аргументов функции ПРОПИСН в Microsoft Excel

  7. После этого действия содержимое первой ячейки столбца с фамилиями выводится в предварительно выделенный элемент, в котором содержится формула ПРОПИСН. Но, как видим, все отображаемые в данной ячейке слова состоят исключительно из заглавных букв.
  8. Результат функции ПРОПИСН выведен в ячейку в Microsoft Excel

  9. Теперь нам нужно произвести преобразование и для всех других ячеек столбца с фамилиями работников. Естественно, мы не будем для каждого сотрудника применять отдельную формулу, а просто скопируем уже существующую при помощи маркера заполнения. Для этого ставим курсор в нижний правый угол элемента листа, в котором содержится формула. После этого курсор должен преобразоваться в маркер заполнения, который выглядит как небольшой крестик. Производим зажим левой кнопки мыши и тянем маркер заполнения на количество ячеек равное их числу в столбце с фамилиями сотрудников предприятия.
  10. Маркер заполнения в Microsoft Excel

  11. Как видим, после указанного действия все фамилии были выведены в диапазон копирования и при этом они состоят исключительно из заглавных букв.
  12. Результат копирования маркером заполнения в Microsoft Excel

    Lumpics.ru

  13. Но теперь все значения в нужном нам регистре расположены за пределами таблицы. Нам же нужно вставить их в таблицу. Для этого выделяем все ячейки, которые заполнены формулами ПРОПИСН. После этого кликаем по выделению правой кнопкой мыши. В открывшемся контекстном меню выбираем пункт «Копировать».
  14. Копирование в Microsoft Excel

  15. После этого выделяем столбец с ФИО сотрудников предприятия в таблице. Кликаем по выделенному столбцу правой кнопкой мыши. Запускается контекстное меню. В блоке «Параметры вставки» выбираем пиктограмму «Значения», которая отображена в виде квадрата, содержащего цифры.
  16. Вставка в Microsoft Excel

  17. После этого действия, как видим, преобразованный вариант написания фамилий заглавными буквами будет вставлен в исходную таблицу. Теперь можно удалить диапазон, заполненный формулами, так как он нам больше не нужен. Выделяем его и кликаем правой кнопкой мыши. В контекстном меню выбираем пункт «Очистить содержимое».

Очистка содержимого в Microsoft Excel

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

Таблица готова в Microsoft Excel

Урок: Мастер функций в Экселе

Способ 2: применение макроса

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

  1. После того, как вы активировали работу макросов, выделяем диапазон, в котором нужно трансформировать буквы в верхний регистр. Затем набираем сочетание клавиш Alt+F11.
  2. Выделение диапазона в Microsoft Excel

  3. Запускается окно Microsoft Visual Basic. Это, собственно, редактор макросов. Набираем комбинацию Ctrl+G. Как видим, после этого курсор перемещается в нижнее поле.
  4. Окно Microsoft Visual Basic в Microsoft Excel

  5. Вводим в это поле следующий код:

    for each c in selection:c.value=ucase(c):next

    Затем жмем на клавишу ENTER и закрываем окно Visual Basic стандартным способом, то есть, нажав на кнопку закрытия в виде крестика в его правом верхнем углу.

  6. Код введен в поле в окне Microsoft Visual Basic в Microsoft Excel

  7. Как видим, после выполнения вышеуказанных манипуляций, данные в выделенном диапазоне преобразованы. Теперь они полностью состоят из прописных букв.

Диапазон данных преобразован с помощью Microsoft Visual Basic в Microsoft Excel

Урок: Как создать макрос в Excel

Для того, чтобы сравнительно быстро преобразовать все буквы в тексте из строчных в прописные, а не терять время на его ручное введение заново с клавиатуры, в Excel существует два способа. Первый из них предусматривает использование функции ПРОПИСН. Второй вариант ещё проще и быстрее. Но он основывается на работе макросов, поэтому этот инструмент должен быть активирован в вашем экземпляре программы. Но включение макросов – это создание дополнительной точки уязвимости операционной системы для злоумышленников. Так что каждый пользователь решает сам, какой из указанных способов ему лучше применить.

Еще статьи по данной теме:

Помогла ли Вам статья?

Смена регистра буквенных символов в VBA Excel с помощью функции StrConv. Преобразование всех букв в верхний или нижний регистр, а также первых букв каждого слова в верхний.

StrConv – это функция, которая возвращает текстовое значение после преобразования исходного строкового выражения в соответствии с указанным типом выполняемого преобразования.

В VBA Excel доступны следующие типы преобразования:

  • символов строки в верхний или нижний регистр;
  • однобайтовых символов в двухбайтовые и обратно;
  • знаков хирагана в катакана и наоборот (формы японской слоговой азбуки);
  • символов строки из формата системной кодовой страницы по умолчанию в Юникод и обратно.

Далее рассмотрим только преобразование букв в верхний или нижний регистр, используя сокращенный синтаксис функции StrConv. Со всеми возможностями этой функции вы можете ознакомиться на сайте разработчика.

Синтаксис функции StrConv

Синтаксис и параметры

StrConv(string, conversion)

  • string – исходное строковое выражение;
  • conversion – тип преобразования.

Тип преобразования

Для смены регистра букв используются следующие типы преобразования (conversion):

Константа Значение Описание
vbUpperCase 1 преобразование всех символов исходной строки в верхний регистр
vbLowerCase 2 преобразование всех символов исходной строки в нижний регистр
vbProperCase 3 преобразование первой буквы каждого слова исходной строки в верхний регистр

Примеры кода VBA Excel

Пример 1

Стандартное преобразование регистра букв:

Sub Primer1()

Dim a, b, c

a = StrConv(«чиСтота – зАЛОг здОроВья», 1)

b = StrConv(«чиСтота – зАЛОг здОроВья», 2)

c = StrConv(«чиСтота – зАЛОг здОроВья», 3)

MsgBox a & vbNewLine & b & vbNewLine & c

‘Результат:

‘ЧИСТОТА – ЗАЛОГ ЗДОРОВЬЯ

‘чистота – залог здоровья

‘Чистота – Залог Здоровья

End Sub

Обратите внимание, что при указании типа преобразования vbProperCase (3), не только первые буквы слов преобразуются в верхний регистр, но и все остальные – в нижний.

Пример 2

Преобразование только первой буквы предложения в заглавную (в верхний регистр):

Sub Primer2()

Dim a, b

a = «чиСтота – зАЛОг здОроВья»

‘преобразуем все символы в нижний регистр

a = StrConv(a, 2)

‘извлекаем первую букву предложения и

‘преобразуем ее в верхний регистр

b = StrConv(Left(a, 1), 1)

‘заменяем первую букву в предложении

a = b & Mid(a, 2)

MsgBox a

‘Результат: «Чистота – залог здоровья»

End Sub

То же самое, но немного по-другому:

Sub Primer2()

Dim a

a = «чиСтота – зАЛОг здОроВья»

‘преобразуем все символы в нижний регистр

a = StrConv(a, 2)

‘заменяем первую букву в предложении этой же буквой,

‘преобразованной в верхний регистр

a = Replace(a, Left(a, 1), StrConv(Left(a, 1), 1), 1, 1)

‘смотрим результат

MsgBox a

End Sub

Подробнее о функции Replace в следующей статье.

В этой статье я хочу рассказать Вам о нескольких способах как изменить регистр символов в Excel с верхнего на нижний или как сделать каждое слово с прописной буквы. Вы научитесь справляться с такими задачами при помощи функций ПРОПИСН и СТРОЧН, при помощи макросов VBA, а также используя Microsoft Word.

Проблема в том, что в Excel не предусмотрен специальный инструмент для изменения регистра текста на рабочем листе. Остаётся загадкой, почему корпорация Microsoft снабдила Word такой мощной функцией и не добавила её в Excel. Это упростило бы решение многих задач для большинства пользователей. Но не торопитесь лихорадочно перенабирать вручную все текстовые данные Вашей таблицы! К счастью, есть несколько хороших способов преобразовать текстовые значения в ячейках в верхний или нижний регистр, или же сделать каждое слово с прописной буквы. Позвольте мне поделиться с Вами этими способами.

  • Функции Excel для изменения регистра текста
  • Изменение регистра текста при помощи Microsoft Word
  • Изменяем регистр при помощи макроса VBA

Содержание

  1. Функции Excel для изменения регистра текста
  2. Вводим формулу в Excel
  3. Копируем формулу вниз по столбцу
  4. Удаляем вспомогательный столбец
  5. Изменяем регистр текста в Excel при помощи Microsoft Word
  6. Изменяем регистр текста при помощи макроса VBA

Функции Excel для изменения регистра текста

В Microsoft Excel есть три замечательных функции, при помощи которых Вы можете изменять регистр текста. Это UPPER (ПРОПИСН), LOWER (СТРОЧН) и PROPER (ПРОПНАЧ).

  • Функция UPPER (ПРОПИСН) преобразовывает все символы нижнего регистра в верхний регистр.
  • Функция LOWER (СТРОЧН) делает все прописные буквы строчными.
  • Функция PROPER (ПРОПНАЧ) делает в каждом слове первую букву прописной, а все остальные – строчными.

Все эти три функции работают по одинаковому принципу, поэтому я покажу Вам, как работает одна из них. Давайте в качестве примера рассмотрим функцию UPPER (ПРОПИСН):

Вводим формулу в Excel

  1. Вставьте новый (вспомогательный) столбец рядом с тем, в котором содержится текст, который Вы хотите преобразовать.

Замечание: Этот шаг не обязателен. Если таблица не большая, Вы можете просто использовать любой смежный пустой столбец.

  1. Изменить регистр в Excel
  2. Введите знак равенства (=) и имя функции UPPER (ПРОПИСН) в смежную ячейку нового столбца (B3).
  3. В скобках после имени функции введите соответствующую ссылку на ячейку (C3). Ваша формула должна выглядеть вот так:

    =UPPER(C3)
    =ПРОПИСН(C3)

    где C3 – это ячейка с текстом, который нужно преобразовать.

    Изменить регистр в Excel

  4. Нажмите Enter.Изменить регистр в ExcelНа рисунке выше видно, что в ячейке B3 содержится текст точно такой же, как в C3, только прописными буквами.

Копируем формулу вниз по столбцу

Теперь Вам нужно скопировать формулу в остальные ячейки вспомогательного столбца:

  1. Выделите ячейку с формулой.
  2. Наведите указатель мыши на маленький квадрат (маркер автозаполнения) в нижнем правом углу выделенной ячейки, чтобы указатель превратился в маленький черный крест.Изменить регистр в Excel
  3. Нажмите и, удерживая левую кнопку мыши, протяните формулу вниз по всем ячейкам, в которые нужно её скопировать.
  4. Отпустите кнопку мыши.Изменить регистр в Excel

Замечание: Если Вам нужно полностью заполнить новый столбец (на всю высоту таблицы), то Вы можете пропустить шаги 5-7 и просто дважды кликнуть по маркеру автозаполнения.

Удаляем вспомогательный столбец

Итак, у Вас есть два столбца с одинаковыми текстовыми данными, отличающимися только регистром. Предполагаю, что Вы хотите оставить столбец только с нужным вариантом. Давайте скопируем значения из вспомогательного столбца и избавимся от него.

  1. Выделите ячейки, содержащие формулу, и нажмите Ctrl+C, чтобы скопировать их.Изменить регистр в Excel
  2. Кликните правой кнопкой мыши по первой ячейке исходного столбца.
  3. В контекстном меню в разделе Paste Options (Параметры вставки) выберите Values (Значения).Изменить регистр в ExcelПоскольку нам нужны только текстовые значения, мы выберем именно этот вариант, чтобы в будущем избежать ошибок в формулах.
  4. Кликните правой кнопкой мыши по любой ячейке вспомогательного столбца и в контекстном меню выберите команду Delete (Удалить).
  5. В диалоговом окне Delete (Удаление ячеек) выберите вариант Entire column (Столбец) и нажмите ОК.Изменить регистр в Excel

Готово!

Изменить регистр в Excel

В теории это может показаться слишком сложным. Расслабьтесь и попробуйте проделать все эти шаги самостоятельно. Вы увидите, что изменение регистра при помощи функций Excel – это совсем не трудно.

Изменяем регистр текста в Excel при помощи Microsoft Word

Если Вы не хотите возиться с формулами в Excel, Вы можете изменить регистр в Word. Далее Вы узнаете, как работает этот метод:

  1. Выделите диапазон на листе Excel, в котором необходимо изменить регистр текста.
  2. Нажмите Ctrl+C или кликните правой кнопкой мыши и в контекстном меню выберите команду Copy (Копировать).Изменить регистр в Excel
  3. Создайте новый документ Word.
  4. Нажмите Ctrl+V или щелкните правой кнопкой мыши по пустой странице и в контекстном меню выберите команду Paste (Вставить). Таблица Excel будет скопирована в Word.Изменить регистр в Excel
  5. Выделите текст, у которого нужно изменить регистр.
  6. На вкладке Home (Главная) в разделе Font (Шрифт) нажмите иконку Change Case (Регистр).
  7. В раскрывающемся списке выберите один из 5 вариантов регистра.Изменить регистр в Excel

Замечание: Кроме этого, Вы можете нажимать сочетание Shift+F3, пока не будет установлен нужный стиль. При помощи этих клавиш можно выбрать только верхний и нижний регистр, а также регистр как в предложениях.

Изменить регистр в Excel

Теперь у Вас есть таблица в Word с изменённым регистром текста. Просто скопируйте её и вставьте на прежнее место в Excel.

Изменить регистр в Excel

Изменяем регистр текста при помощи макроса VBA

Вы также можете использовать макросы VBA в Excel 2010 и 2013. Не переживайте, если Ваши знания VBA оставляют желать лучшего. Какое-то время назад я тоже мало что знал об этом, а теперь могу поделиться тремя простыми макросами, которые изменяют регистр текста на верхний, нижний или делают каждое слово с прописной буквы.

Я не буду отвлекаться от темы и рассказывать Вам, как вставить и запустить код VBA в Excel, поскольку об этом замечательно рассказано в других статьях нашего сайта. Я просто покажу макросы, которые Вы можете скопировать и вставить в свою книгу.

  • Если Вы хотите преобразовать текст в верхний регистр, используйте следующий макрос VBA:
Sub Uppercase()
    For Each Cell In Selection
        If Not Cell.HasFormula Then
            Cell.Value = UCase(Cell.Value)
        End If
    Next Cell
End Sub
  • Чтобы применить нижний регистр к своим данным, используйте код, показанный ниже:
Sub Lowercase()
    For Each Cell In Selection
        If Not Cell.HasFormula Then
            Cell.Value = LCase(Cell.Value)
        End If
    Next Cell
End Sub
  • Вот такой макрос сделает все слова в тексте, начинающимися с большой буквы:
Sub Propercase()
    For Each Cell In Selection
        If Not Cell.HasFormula Then
            Cell.Value = _
            Application _
            .WorksheetFunction _
            .Proper(Cell.Value)
        End If
    Next Cell
End Sub

Я надеюсь, что теперь, когда Вы знаете пару отличных приёмов изменения регистра в Excel, эта задача не вызовет у Вас затруднений. Функции Excel, Microsoft Word, макросы VBA – всегда к Вашим услугам. Вам осталось сделать совсем немного – определиться, какой из этих инструментов Вам больше нравится.

Оцените качество статьи. Нам важно ваше мнение:

Во время работы в Эксель нередко возникает потребность напечатать весь текст заглавными буквами. Это может потребоваться, к примеру, при заполнении различных заявлений и прочих официальных бумаг для подачи в государственные учреждения. Наверняка, многие могут подумать – что же в этом сложного и непонятного? Ведь каждый пользователь ПК знает, что для этого требуется лишь нажать Caps Lock на клавиатуре, после чего вся информация будет набираться заглавными буквами.

Да, это совершенно верно, и достаточно одного нажатия на клавишу Caps Lock в данном случае. Но как быть в ситуации когда документ уже содержит текст, напечатанный обычными буквами? В начале работы пользователь не всегда задумывается о том, в каком виде должен быть представлен финальный текст, и зачастую начинает его форматирование уже после ввода информации. Не перепечатывать же текст заново?

В такой ситуации паниковать не стоит, и, тем более, перепечатывать все заново, так как есть инструменты, помогающие быстро решить эту проблему. Давайте разберем все возможные способы замены всех букв в заглавные в Excel.

Содержание

  1. Замена строчных букв на заглавные
    • Метод 1: применение оператора ПРОПИСН
    • Метод 2: использование макроса
  2. Заключение

Замена строчных букв на заглавные

При работе с текстовым редактором Word поставленная задача выполняется буквально в один клик. Нужно лишь отметить необходимый фрагмент текста, затем, зажав на клавиатуре клавишу SHIFT, два раза нажать на функциональную клавишу F3. При работе же с таблицами Эксель все несколько сложнее. Для выполнения данной задачи потребуется задействовать функцию ПРОПИСН, либо применить макрос. Ниже мы рассмотрим оба этих способа на практическом примере.

Метод 1: применение оператора ПРОПИСН

Главной задачей данной функции является замена строчных букв на заглавные. Формула функции пишется так:

=ПРОПИСН(Текст)

В качестве значения единственного аргумента “Текст” можно указать:

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

Итак, давайте разберем работу функции на практике. Для этого возьмем таблицу, в которой указаны наименования товаров, в которых заглавная буква только одна – первая. Остальная же часть текста представлена в виде строчных букв. Нам нужно превратить все буквы в заглавные.

Применение оператора ПРОПИСН для преобразования строчных букв в заглавные

Итак, вот что нам нужно сделать:

  1. Выбираем место в таблице для ввода формулы функции (любая свободная ячейка). Для удобства и наглядности лучше выбрать для этого свободную ячейку в отдельном столбце таким образом, чтобы она была в той же строке, что и ячейка, данные которой мы хотим преобразовать. После того, как мы определились с выбором, отмечаем ячейку и щелкаем по инструменту “Вставить функцию”.Применение оператора ПРОПИСН
  2. В открывшемся окне Мастера функций щелкаем по текущей категории и в раскрывшемся перечне выбираем “Текстовые”.Применение оператора ПРОПИСН
  3. В доступном перечне операторов выбранной категории выбираем функцию ПРОПИСН и щелкаем OK.Применение оператора ПРОПИСН
  4. Откроется окно с настройками функции. В поле “Текст” указываем адрес ячейки, содержащей наименование товара для преобразования. Его можно прописать вручную. Но есть и другой, более удобный способ – кликаем по области ввода данных, затем – по нужной ячейке. Далее щелкаем OK.Применение оператора ПРОПИСН
  5. Таким образом, текстовое значение из заданной ячейки будет преобразовано и представлено исключительно в виде заглавных букв, чего мы и добивались.Применение оператора ПРОПИСН
  6. Теперь остается только применить данную функцию ко всем ячейкам столбца, куда мы хотим вывести наименования с заглавными буквами. Для этого ставим курсор мыши на правый нижний угол ячейки с результатом (при этом курсор мыши должен принять форму крестика). Затем растягиваем формулу вниз, зажав при этом левую кнопку мыши.Применение оператора ПРОПИСН
  7. В результате мы получим столбец с наименованиями, прописанными полностью заглавными буквами.Применение оператора ПРОПИСН
  8. Итак, теперь у нас есть две колонки с наименованиями: одна написана в обычном стиле, а вторая полностью состоит из заглавных букв. Наша же задача состояла в замене первого варианта вторым. Поэтому проделаем еще несколько манипуляций. Выделяем мышью колонку с наименованиями, представленными заглавными буквами. Затем вызываем контекстное меню кликом по выделенному диапазону правой кнопкой мыши, и из перечня команд щелкаем по строке “Копировать” (или можно использовать для копирования сочетание клавиш Ctrl+C).Применение оператора ПРОПИСН
  9. Затем выделяем первый столбец, значения которого требуется заменить (область выделения должна содержать столько же строк, что и та, которую мы скопировали). Опять вызываем контекстное меню щелчком правой кнопки мыши по выделенной области. В появившемся списке кликаем в разделе “Параметры вставки” по варианту “Значения”.Применение оператора ПРОПИСН
  10. Наименования исходного столбца будут заменены данными из столбца с формулой (т.е. все наименования отображаются исключительно заглавными буквами). Остается только убрать вспомогательную колонку, содержащую ячейки с формулой. Для этого выделяем ее щелчком правой кнопкой мыши по названию столбца и в открывшемся перечне щелкаем по команде “Удалить”.Применение оператора ПРОПИСН
  11. Готово, мы успешно справились с поставленной задачей.Применение оператора ПРОПИСН

Метод 2: использование макроса

Внимание! Для использования этого метода необходимо убедиться, что у вас активирована функция макросов. Если нет, то ее требуется включить. О том, как это сделать, читайте в нашей статье – “Как включить/отключить макросы в Excel“.

  1. Убедившись в том, что использование макросов активировано, выделяем область таблицы, текст которой требуется преобразовать. После этого нажимаем на клавиатуре комбинацию клавиш Alt+F11.Использование макроса для замены строчных букв на заглавные
  2. Перед нами появится редактор макросов, находясь в котором мы нажимаем сочетание Ctrl+G. Курсор мыши при этом должен переместиться в поле “Immediate”, которое до этого действия, скорее всего, было закрыто.Использование макроса для замены строчных букв на заглавные
  3. В данной области пишем следующее:
    for each c in selection:c.value=ucase(c):next.
    Затем подтверждаем действие нажатием клавиши ENTER и выходим из редактора макросов.Использование макроса для замены строчных букв на заглавные
  4. В итоге все буквы в отмеченном диапазоне ячеек заменятся на заглавные согласно поставленной задаче.Использование макроса для замены строчных букв на заглавные

Заключение

Мы только что познакомились с двумя методами преобразования строчных букв в заглавные в таблицах Эксель. Многим пользователям второй способ (использование макросов) может показаться намного быстрее и проще. Однако применение оператора ПРОПИСН – безопаснее, так как включение макросов делает ПК мене защищенным перед потенциально возможными хакерскими атаками. Каким способом пользоваться каждый решает для себя сам. Но независимо от выбора, конечный результат в обоих описанных выше методах будет идентичен.

 

sotnik

Пользователь

Сообщений: 34
Регистрация: 01.01.1970

Добрый день. Есть диапазон A1:A10 с текстом, написанным строчными буквами. Нужно написать макрос, который преобразует эти прописные буквы в заглавные.

 

vikttur

Пользователь

Сообщений: 47199
Регистрация: 15.09.2012

Буквы все или только первые в словах? Если возможны предложения — первые в предложениях?  
Только макрос или допускаются формулы?

 

Hugo

Пользователь

Сообщений: 23253
Регистрация: 22.12.2012

Без цикла не получилось…  

  Sub tt()  
Dim cc As Range  
For Each cc In [a1:a10]
cc.Value = UCase(cc.Value)  
Next  
End Sub

 

sotnik

Пользователь

Сообщений: 34
Регистрация: 01.01.1970

 

sotnik

Пользователь

Сообщений: 34
Регистрация: 01.01.1970

но только не в автоматическом режиме, каждый раз надо включать, чтобы буквы стали заглавные. Можно его как-нибуть автоматизировать?

 

Hugo

Пользователь

Сообщений: 23253
Регистрация: 22.12.2012

 

sotnik

Пользователь

Сообщений: 34
Регистрация: 01.01.1970

{quote}{login=vikttur}{date=20.03.2012 03:09}{thema=}{post}Буквы все или только первые в словах? Если возможны предложения — первые в предложениях?  
Только макрос или допускаются формулы?{/post}{/quote}  

  Все буквы, желательно макрос, но чтобы он работал в автоматическом режиме.

 

sotnik

Пользователь

Сообщений: 34
Регистрация: 01.01.1970

{quote}{login=Hugo}{date=20.03.2012 03:34}{thema=}{post}Как бы Вам хотелось? :){/post}{/quote}  

  мне хотелось бы, чтобы я писал в ячейках A1:A10 строчными буквами, а они автоматически преобразовались в заглавные.

 

Hugo

Пользователь

Сообщений: 23253
Регистрация: 22.12.2012

#9

20.03.2012 15:49:11

Private Sub Worksheet_Change(ByVal Target As Range)  
   If Target.Cells.Count > 1 Then Exit Sub  
   If Not Intersect(Target, Range(«A1:A10»)) Is Nothing Then  
       Target.Value = UCase(Target.Value)  
   End If  
End Sub  

  Код в модуль соответствующего листа.

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

  • Функции Excel для изменения регистра текста
  • Сделать текст заглавными с помощью Microsoft Word
  • Изменить регистр с помощью макроса VBA

В Microsoft Excel есть три отличные функции, с помощью которых вы можете изменить регистр текста. Это ВЕРХ, ВНИЗ и ПРАВИЛЬНО).

  • Функция ВЕРХНИЙ преобразует все строчные буквы в прописные.
  • Функция LOWER переводит все прописные буквы в нижний регистр.
  • Функция ПРОПИСН переводит первую букву каждого слова в верхний регистр, а остальные в нижний.

Все три функции работают одинаково, поэтому я покажу вам, как работает одна из них. Возьмем для примера функцию UPPER):

Вводим формулу в Excel

  1. Вставьте новый столбец (помощник) рядом с тем, который содержит текст, который вы хотите преобразовать.

Примечание. Этот шаг не является обязательным. Если таблица небольшая, вы можете просто использовать любой соседний пустой столбец.

  1.  
  2. Введите знак равенства (=) и имя ВЕРХНЕЙ функции в соседнюю ячейку нового столбца (B3).
  3. В скобках после имени функции введите соответствующую ссылку на ячейку (C3). Ваша формула должна выглядеть так:

    = ВЕРХНИЙ (C3)
    = ВЕРХНИЙ (C3)

    где C3 — это ячейка с текстом, который нужно преобразовать.

    Изменить прописные буквы в Excel

  4. Нажмите Enter.Изменить прописные буквы в ExcelНа изображении выше вы можете видеть, что ячейка B3 содержит тот же текст, что и C3, только заглавными буквами.

Копируем формулу вниз по столбцу

Теперь вам нужно скопировать формулу в остальную часть вспомогательного столбца:

  1. Выделите ячейку с формулой.
  2. Наведите указатель мыши на маленький квадрат (индикатор автозаполнения) в правом нижнем углу выбранной ячейки, чтобы указатель превратился в маленький черный крестик.Изменить прописные буквы в Excel
  3. Удерживая левую кнопку мыши, перетащите формулу вниз ко всем ячейкам, в которые вы хотите ее скопировать.
  4. Отпустите кнопку мыши.Изменить прописные буквы в Excel

Примечание. Если вам нужно полностью заполнить новый столбец (до полной высоты таблицы), вы можете пропустить шаги 5-7 и просто дважды щелкнуть маркер автозаполнения.

Удаляем вспомогательный столбец

Итак, у вас есть два столбца с одинаковыми текстовыми данными, которые отличаются только регистром. Я предполагаю, что вы просто хотите оставить столбец с нужной опцией. Скопируем значения из вспомогательного столбца и избавимся от него.

  1. Выделите ячейки, содержащие формулу, и нажмите Ctrl + C, чтобы скопировать их.Изменить прописные буквы в Excel
  2. Щелкните правой кнопкой мыши первую ячейку исходного столбца.
  3. В контекстном меню в разделе «Параметры вставки» выберите «Значения).Изменить прописные буквы в ExcelПоскольку нам нужны только текстовые значения, мы выберем этот вариант, чтобы избежать ошибок в формулах в будущем.
  4. Щелкните правой кнопкой мыши любую ячейку вспомогательного столбца и выберите команду Удалить из контекстного меню).
  5. В диалоговом окне «Удалить» выберите «Весь столбец» и нажмите «ОК.Изменить прописные буквы в Excel

Готовый!

Изменить прописные буквы в Excel

Теоретически это может показаться слишком сложным. Расслабьтесь и попробуйте все эти шаги самостоятельно. Вы увидите, что переключение кейсов с помощью функций Excel совсем не сложно.

Изменяем регистр текста в Excel при помощи Microsoft Word

Если вы не хотите возиться с формулами Excel, вы можете изменить регистр в Word. Вот как работает этот метод:

  1. Выберите диапазон на листе Excel, в котором вы хотите изменить регистр текста.
  2. Нажмите Ctrl + C или щелкните правой кнопкой мыши и выберите команду Копировать из контекстного меню).Изменить прописные буквы в Excel
  3. Создайте новый документ Word.
  4. Нажмите Ctrl + V или щелкните правой кнопкой мыши пустую страницу и выберите «Вставить» в контекстном меню. Таблица Excel будет скопирована в Word.Изменить прописные буквы в Excel
  5. Выделите текст, регистр которого вы хотите изменить.
  6. На вкладке «Главная» в разделе «Шрифт» щелкните значок «Изменить регистр).
  7. В раскрывающемся списке выберите один из 5 вариантов случая.Изменить прописные буквы в Excel

Примечание. Вы также можете нажимать Shift + F3, пока не будет установлен нужный стиль. С помощью этих клавиш вы можете выбирать только прописные и строчные буквы, а также прописные и строчные буквы, как в предложениях.

Изменить прописные буквы в Excel

Теперь у вас есть таблица в Word с измененным текстом, написанным с заглавной буквы. Просто скопируйте и вставьте обратно в Excel.

Изменить прописные буквы в Excel

Изменяем регистр текста при помощи макроса VBA

Вы также можете использовать макросы VBA в Excel 2010 и 2013. Не волнуйтесь, если ваши знания VBA оставляют желать лучшего. Некоторое время назад я тоже мало знал об этом, но теперь я могу поделиться тремя простыми макросами, которые изменяют верхний, нижний или верхний регистр каждого слова.

Не буду отвлекаться на эту тему и расскажу, как вставить и запустить код VBA в Excel, так как это хорошо описано в других статьях на нашем сайте. Я покажу вам только макросы, которые вы можете скопировать и вставить в свою книгу.

  • Если вы хотите преобразовать текст в верхний регистр, используйте следующий макрос VBA:

Sub Верхний регистр () для каждой ячейки в выбранном Если не Cell.HasFormula Then Cell.Value = UCase (Cell.Value) End If Next Cell End Sub

  • Чтобы строчные буквы ваши данные, используйте код, показанный ниже:

Нижний регистр Sub () Для каждой ячейки в выделенном фрагменте Если не Cell.HasFormula Then Cell.Value = LCase (Cell.Value) End If Next Cell End Sub

  • Такой макрос будет начинать все слова в тексте с заглавной буквы:

Sub Propercase () для каждой ячейки в выделении Если не Cell.HasFormula Then Cell.Value = _ Application _ .WorksheetFunction _ .Proper (Cell.Value) End If Next Cell End Sub

Надеюсь, теперь, когда вы знаете пару отличных приемов, позволяющих изменить регистр в Excel, эта задача не доставит вам никаких проблем. Функции Excel, Microsoft Word, макросы VBA всегда к вашим услугам. Осталось совсем немного — решить, какой из этих инструментов вам больше нравится.

More often than not, to save time or for the sake of laziness, people enter data in all lowercase or all uppercase. Transforming this type of data into the proper format can be a serious headache. Let us show you how to make Excel capitalize first letter using VBA to do this automatically.

How to make Excel capitalize first letter

Both Excel and VBA have functions that can do this.

  • Proper (Excel)
  • StrConv (VBA)

In this example, we will be using the StrConv function in VBA. StrConv function can convert a string into a specified form. This form can be the case of letters, as well as their coding structure (i.e. Unicode or not). The function uses 2 arguments — the string itself, and the conversion type. Choose vbProperCase to convert a string of letters to the proper case. Below is an example.

StrConv("CONVERT ME",vbProperCase)

This code returns «Convert Me» as a string.

To use StrConv with all cells in a selection or a specified range, we need to check every cell using a loop. For Each…Next loop is ideal for moving from cell to cell regardless of selection range dimensions. The idea is to apply the StrConv function to each cell value and replace it.

You can use codes in two ways:

  • Module
  • Immediate Window

In the Module method, you need to add the module into the workbook or the add-in file. Copy and paste the code into the module to run it. The main advantage of the module method is that it allows saving the code in the file, so that it can be used again later. Furthermore, the subroutines in modules can be used by icons in the menu ribbons or keyboard shortcuts. Remember to save your file in either XLSM or XLAM format to save your VBA code.

The Immediate Window method, on the other hand, is essentially a quick and dirty method where you can simply copy and paste the code into the Immediate Window and press the Enter key to run it. Unfortunately, any code you use in the Immediate Window will not be saved. Also note that icons and keyboard shortcuts will not be available.

Convert selection to proper case

Module Version:

Sub ConvertProperCaseInSelection()

  Dim rng As Range

  For Each rng In Selection

    rng.Value = StrConv(rng.Value,vbProperCase)

  Next rng

End Sub

Immediate Version:

For Each rng In Selection: rng.Value = StrConv(rng.Value,vbProperCase): Next rng

Convert a specified range to proper case

Module Version:

Sub ConvertProperCaseInRange()

  Dim rng As Range

  For Each rng In Range("B2:E11")

    rng.Value = StrConv(rng.Value,vbProperCase)

  Next rng

End Sub

Immediate Version:

For Each rng In Range("B2:E11"): rng.Value = StrConv(rng.Value,vbProperCase): Next rng

Convert entire worksheet to proper case

Module Version:

Sub ConvertProperCaseInWorksheet()

  Dim rng As Range

  For Each rng In ActiveSheet.UsedRange

   rng.Value = StrConv(rng.Value,vbProperCase)

  Next rng

End Sub

Immediate Version:

For Each rng In ActiveSheet.UsedRange: rng.Value = StrConv(rng.Value,vbProperCase): Next rng

На чтение 2 мин. Просмотров 30.4k. Опубликовано 04.06.2014

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

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

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

Содержание

  1. Надстройки для 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

Macros2.txt

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

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

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

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

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

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

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

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

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

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

Понравилась статья? Поделить с друзьями:
  • Макрос excel для всех открываемых файлов
  • Макрос excel добавление новых строк
  • Макрос excel для всех выделенных ячеек
  • Макрос excel для учета товаров
  • Макрос excel для андроид