Найти тему
ExceLifeHack

Работа в Excel на фрилансе

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

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

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

Исходные данные
Исходные данные

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

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

Можно легко преобразовать весь текст в нижний регистр функцией СТРОЧН(), в верхний регистр ПРОПИСН() или первую букву в каждом слове текста в прописную ПРОПНАЧ().

Конечно, можно перекинуть таблицу в MS Word и там преобразовать, а потом закинуть обратно в таблицу.

В конкретном случае, фокус не сработал. Word, как вы видите преобразовал текст не корректно, посчитав двоеточие продолжением предложения:

Преобразование в World
Преобразование в World

Как говорится: Если гора не идет к Магомету, то Магомет пойдет к горе.

Решил написать свою функцию, которой делюсь с вами.

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

Function ПЕРВПРОП(Текст As String) As String
' ПЕРВПРОП
' Превращает первую букву в строке в заглавную
If IsEmpty(Текст) = False And IsNumeric(Текст) = False Then
ПЕРВПРОП = UCase(Left(Текст, 1)) & Mid(Текст, 2)
Else
ПЕРВПРОП = "Ошибка: выбран не текст"
End If
End Function

Добавьте код в Свою надстройку.

Для того, чтобы у пользовательской функции появилось привычное описание, выполните один раз код ПЕРВПРОПОписание, который после можете удалить:

Sub ПЕРВПРОПОписание()
Application.MacroOptions _
Macro:="ПЕРВПРОП", _
Description:="Превращает первую букву в строке в заглавную", _
Category:="Текстовые", _
ArgumentDescriptions:=Array("строка, первую букву, которой нужно перевести в верхний регистр")
End Sub

Функция ПЕРВПРОП() очень проста, работает, как и другие встроенные функции Excel. При вызове через Мастер формул, располагается в Категории Текстовых.

Отображение функции, через Мастер формул
Отображение функции, через Мастер формул

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

Аргументы и описание функции
Аргументы и описание функции

Работает четко, результат перед вами:

Итог
Итог

Итог: работа выполнена быстро, заказчик доволен.

Кстати, на KWORK можно не только зарабатывать, но и покупать услуги. Репетиторы, переводчики, дизайнеры, ИТ и SEO-специалисты всегда готовы упростить вам жизнь, выполнив ваш заказ.

Годная функция? Пишите в комментариях. Подписывайтесь на канал, до новых встреч.

Наука
7 млн интересуются