VBA и макросы

Как написать первую букву текстовой строки с заглавной буквы в Excel (с помощью формулы и VBA)

Как написать первую букву текстовой строки с заглавной буквы в Excel (формула и VBA)
⏱️ Время чтения: 6 минут 📊 Сложность: Средний

Помимо использования Excel с числовыми данными, многие люди также используют его с текстовыми данными. Это может быть как простая запись имён, так и что-то более сложное.

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

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

Итак, приступим!

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

Может быть два сценария, в которых вы хотите это сделать:

  1. Первая буква каждого слова
  2. Только первая буква первого слова

Делайте первую букву каждого слова заглавной

Это довольно просто сделать, поскольку в Excel есть специальная функция для этого — функция ПРОПНАЧ, цель существования которой состоит в том, чтобы начинать каждое слово с заглавной буквы.

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

Практическое обучение в Excel. Попробуй бесплатно, прямо сейчас!

Ниже приведена формула, которую вы можете использовать:

=ПРОПНАЧ(A2)

Это сделает первую букву каждого слова в указанной ячейке заглавной.

Довольно прямолинейно!

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

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

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

Однако вы всё равно можете сделать это (легко) с помощью комбинации формул.

Опять же, может быть два сценария, в которых вы захотите это сделать:

  1. Сделайте первую букву первого слова заглавной и оставьте всё остальное как есть.
  2. Сделайте первую букву первого слова заглавной, а остальную часть измените на нижний регистр (так как там уже может быть какая-то заглавная буква).

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

Посмотрим, как это сделать!

Сделайте первую букву первого слова заглавной и оставьте всё как есть

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

Ниже приведена формула, которая сделает это:

=ПРОПИСН(ЛЕВСИМВ(A2;1))&ПРАВСИМВ(A2;ДЛСТР(A2)-1)

Как работает формула

В приведённой выше формуле функция ЛЕВСИМВ используется для извлечения первого символа из строки в ячейке. Затем она использует функцию ПРОПИСН, чтобы изменить регистр первой буквы на верхний. Затем результат объединяется с остальной частью строки (которая извлекается с помощью функции ПРАВСИМВ).

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

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

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

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

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

=ЗАМЕНИТЬ(СТРОЧН(A2);1;1;ПРОПИСН(ЛЕВСИМВ(A2;1)))

Как работает формула

СТРОЧН(A2) — переводит весь текст в нижний регистр. ПРОПИСН(ЛЕВСИМВ(A2;1)) — преобразует первую букву текстовой строки в ячейке в верхний регистр. Функция ЗАМЕНИТЬ используется, чтобы заменить только первый символ его версией в верхнем регистре.

Одним из преимуществ использования формулы является то, что она сохраняет динамические данные. Например, если у вас есть формула и вы вносите какие-либо изменения в данные в столбце A (исходные текстовые данные), полученные данные будут автоматически обновлены. Если вам не нужны исходные данные и вы хотите сохранить только конечный результат, не забудьте преобразовать формулу в значения.

Сделать первую букву заглавной с помощью VBA

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

Если вам часто нужно использовать изменение данных, как показано в одном из приведённых выше примеров, вы также можете рассмотреть возможность использования кода VBA. С кодом макроса VBA вам просто нужно установить его один раз, а затем вы можете добавить его на панель быстрого доступа.

Таким образом, в следующий раз, когда вам нужно будет сделать первую букву заглавной, всё, что вам нужно сделать, — это выбрать набор данных и нажать кнопку макроса в QAT.

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

Теперь позвольте дать вам коды VBA.

В приведённом ниже коде первая буква первого слова будет заглавной, а всё остальное останется как есть:

Sub CapitalizeFirstLetter()
Dim Sel As Range
Set Sel = Selection
For Each cell In Sel
cell.Value = UCase(Left(cell.Value, 1)) & Right(cell.Value, Len(cell.Value) - 1)
Next cell
End Sub

А ниже приведён код, в котором первая буква текста будет заглавной, а всё остальное — строчным:

Sub CapitalizeFirstLetterOnly()
Dim Sel As Range
Set Sel = Selection
For Each cell In Sel
cell.Value = Application.WorksheetFunction.Replace(LCase(cell.Value), 1, 1, UCase(Left(cell.Value, 1)))
Next cell
End Sub

Примечание: Вам нужно поместить этот код VBA в обычный модуль в редакторе VB.

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

Надеюсь, вы нашли это руководство по Excel полезным.

Хотите освоить Excel глубже?

Больше полезных формул, приёмов и готовых решений — на Vip Excel

Практическое обучение в Excel. Попробуй бесплатно, прямо сейчас!