Как сделать текст заглавным при вводе автоматически

Как сделать текст заглавным при вводе автоматически Google Таблицы
Узнайте, как настроить автоматический ввод заглавных букв в Excel, Google Sheets и Word с помощью макросов, скриптов и горячих клавиш.

Автоматический перевод вводимого текста в верхний регистр (заглавные буквы) — отличный способ стандартизировать данные, будь то артикулы, промокоды или ФИО. В этой инструкции мы разберем, как настроить автокапслок в Excel, Google Таблицах и Word с помощью формул, CSS и макросов VBA.

Способ 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;

Оцените статью
TechWork
Добавить комментарий