Автоматический перевод вводимого текста в верхний регистр (заглавные буквы) — отличный способ стандартизировать данные, будь то артикулы, промокоды или ФИО. В этой инструкции мы разберем, как настроить автокапслок в Excel, Google Таблицах и Word с помощью формул, CSS и макросов VBA.
- Способ 1. Автоматический верхний регистр в Google Таблицах через Apps Script
- Шаг 1. Откройте редактор скриптов
- Шаг 2. Вставьте код авто-капса
- Шаг 3. Сохраните и проверьте работу
- Способ 2. Автоматический ввод заглавными в Microsoft Excel (VBA)
- Шаг 1. Откройте редактор VBA
- Шаг 2. Вставьте код в модуль листа
- Способ 3. Быстрый перевод в Word и HTML/CSS
- Вариант А: Горячие клавиши в Microsoft Word
- Вариант Б: Автоматический капс в HTML/CSS
- Частые ошибки / Устранение неполадок
- Часто задаваемые вопросы
Способ 1. Автоматический верхний регистр в Google Таблицах через Apps Script
В Google Sheets нет встроенного инструмента для изменения регистра ‘на лету’ при вводе, но это легко решается простым скриптом. Если вы часто работаете с таблицами, вам также может быть полезно узнать, как скопировать только видимые ячейки в Google Sheets.
Шаг 1. Откройте редактор скриптов
Перейдите в верхнем меню по пути Расширения > Apps Script.
Шаг 2. Вставьте код авто-капса
Удалите стандартный шаблон кода и вставьте следующий скрипт, который автоматически переводит вводимый текст в столбце A (индекс 1) в верхний регистр:
function onEdit(e) {
var sheet = e.source.getActiveSheet();
var range = e.range;
if (range.getColumn() == 1) {
var val = range.getValue();
if (typeof val === 'string') {
range.setValue(val.toUpperCase());
}
}
} Шаг 3. Сохраните и проверьте работу
Нажмите на иконку сохранения проекта (Ctrl + S) и попробуйте ввести строчные буквы в столбец A вашей таблицы — они автоматически станут заглавными.
Дополнительно
Если вам не нужны скрипты, можно использовать стандартную формулу =ПРОПИСН(A1) в соседнем столбце, но это потребует создания дополнительного столбца для вывода результата.
Способ 2. Автоматический ввод заглавными в Microsoft Excel (VBA)
В Excel для автоматического изменения регистра при вводе используется макрос события листа. Для визуального выделения данных рекомендуем также настроить условное форматирование в Excel и Google Таблицах.
Шаг 1. Откройте редактор VBA
Нажмите комбинацию клавиш Alt + F11, чтобы открыть встроенный редактор Visual Basic.
Шаг 2. Вставьте код в модуль листа
В левой панели проекта дважды кликните на лист, на котором хотите применить автокапс, и вставьте следующий код:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Not Intersect(Target, Range("A1:A100")) Is Nothing Then
Application.EnableEvents = False
Target.Value = UCase(Target.Value)
Application.EnableEvents = True
End If
End Sub Этот макрос автоматически переводит в верхний регистр любой текст, введенный в диапазоне ячеек A1:A100.
Важно: Обязательно сохраняйте книгу Excel в формате с поддержкой макросов (.xlsm), иначе написанный код сотрется при закрытии файла.
Способ 3. Быстрый перевод в Word и HTML/CSS
В текстовых редакторах и веб-разработке автоматизация работает иначе. А чтобы автоматизировать другие элементы интерфейса в таблицах, посмотрите, как добавить чекбокс в Google Sheets и связать с формулой.
Вариант А: Горячие клавиши в Microsoft Word
Выделите нужный фрагмент текста и нажмите Shift + F3. Каждое нажатие этой комбинации циклически меняет регистр: все строчные, первая заглавная, все заглавные.
Вариант Б: Автоматический капс в HTML/CSS
Если вы создаете форму ввода на сайте, вы можете заставить текст визуально становиться заглавным при вводе с помощью простого CSS-свойства:
input {
text-transform: uppercase;
} Частые ошибки / Устранение неполадок
- Ошибка: Макрос в Excel не работает. Убедитесь, что в настройках безопасности Excel включены макросы, а файл сохранен с расширением
.xlsm. - Ошибка: Бесконечный цикл в Excel VBA. Если забыть строку
Application.EnableEvents = False, макрос будет бесконечно вызывать сам себя при изменении ячейки, что приведет к зависанию Excel. - Ошибка: Скрипт в Google Sheets не срабатывает. Проверьте, дали ли вы скрипту необходимые разрешения при первом запуске, и правильно ли указан номер столбца в коде (индексация начинается с 1).
Часто задаваемые вопросы
Можно ли сделать автокапс в Excel без макросов?
Напрямую при вводе в ту же ячейку — нет. Можно использовать только вспомогательный столбец с формулой =ПРОПИСН().
Работает ли макрос VBA в мобильной версии Excel?
Нет, мобильные версии Excel и Excel Online не поддерживают выполнение макросов VBA.
Как сделать заглавными только первые буквы слов?
В Excel используйте функцию =ПРОПИСНАЧ(), в Google Sheets — аналогичную функцию PROPER, а в CSS — свойство text-transform: capitalize;








