Перейти к основному содержанию

Как заставить текстовую строку в верхнем / нижнем / правильном регистре в Excel?

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

Переведите текстовые строки в верхний / нижний / правильный регистр с помощью проверки данных

Принудительно переводить текстовые строки в верхний / нижний / правильный регистр с помощью кода VBA

Измените текст на верхний регистр / нижний регистр / правильный регистр с помощью Kutools for Excel хорошая идея3


Проверка данных - это мощный инструмент в Excel, он может помочь нам выполнять множество операций, с его помощью мы также можем принудительно вводить верхний, нижний или правильный регистр текстовых строк при наборе текста, пожалуйста, сделайте следующее:

1. Перейти к щелчку Данные > проверка достоверности данных > проверка достоверности данных, см. снимок экрана:

документ-форс-верхний регистр-1

2. В проверка достоверности данных диалог под Настройки , нажмите Разрешить раскрывающийся список и выберите На заказ вариант, затем в Формула текстовое поле, введите эту формулу = ТОЧНЫЙ (ВЕРХНИЙ (A1); A1)(A1 обозначает столбец, в котором вы будете применять эту функцию, вы можете изменить его по своему усмотрению), см. снимок экрана:

документ-форс-верхний регистр-1

3. Затем вы можете создать оповещение по мере необходимости, пожалуйста, нажмите Предупреждение об ошибке Вкладка и выберите Stop из Стиль раскрывающийся список в правом углу Сообщение об ошибке текстовое поле, введите собственное предупреждающее сообщение, см. снимок экрана:

документ-форс-верхний регистр-1

4, Затем нажмите OK Чтобы закрыть диалоговое окно, теперь, когда вы вводите текстовую строку не в верхнем регистре в столбце A, появится окно предупреждения, напоминающее вам о вводе заглавных букв.

документ-форс-верхний регистр-1

Примечание:

Если вам нужно перевести текстовые строки в нижний или правильный регистр, примените следующие формулы в проверка достоверности данных на этапе 2.

Перевести в нижний регистр: = EXACT (LOWER (A1), A1);

Установить правильный регистр: = EXACT (PROPER (A1), A1)


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

1. Удерживайте ALT + F11 ключи, и он открывает Окно Microsoft Visual Basic для приложений.

2. Затем выберите использованный рабочий лист слева Обозреватель проекта, дважды щелкните его, чтобы открыть Модули, а затем скопируйте и вставьте следующий код VBA в пустой модуль:

Код VBA: перевод текстовой строки в верхний регистр

Private Sub Worksheet_Change(ByVal Target As Range)
'Update 20140603
Target.Value = VBA.UCase(Target.Value)
End Sub

документ-форс-верхний регистр-1

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

Ноты:

1. Этот код применяется ко всему рабочему листу.

2. Если вы не можете найти букву Pпанель обозревателя roject в окне можно нажать Вид > Обозреватель проекта чтобы открыть ее.

3. Чтобы принудительно использовать слова в нижнем или правильном регистре, вы можете применить следующий код VBA: (Процедура такая же, как и выше)

Код VBA: перевод текстовой строки в нижний регистр

Private Sub Worksheet_Change(ByVal Target As Range)
'Update 20140603
Target.Value = VBA.LCase(Target.Value)
End Sub

Код VBA: приведение текстовой строки к правильному регистру

Private Sub Worksheet_Change(ByVal Target As Range)
'Update 20140603
Target.Value = Application.WorksheetFunction.Proper(Target.Value)
End Sub

Если вы просто хотите изменить некоторые конкретные тексты на ВЕРХНИЙ, СТРОЧНЫЙ или Правильный регистр, вы можете применить Изменить регистр полезности Kutools for Excel чтобы быстро это сделать.

Kutools for Excel, с более чем 300 удобные функции, облегчающие вашу работу. 

После бесплатная установка Kutools for Excel, сделайте следующее:

1. Выберите тексты, в которых нужно изменить регистр, и нажмите Кутулс > Текст > Изменить регистр. Смотрите скриншот:
документ изменить регистр 6

2. в Изменить регистр диалоговом окне, отметьте нужный вариант операции, и вы можете просмотреть результат в предварительный просмотр панель. Смотрите скриншот:
документ изменить регистр 2

3. Нажмите Ok or Применить и тексты были изменены.

 Изменить на ВЕРХНИЙ  Изменить на правильный регистр  Изменить на регистр приговора
 документ изменить регистр 3  документ изменить регистр 4 документ изменить регистр 5 

Лучшие инструменты для офисной работы

🤖 Kutools AI Помощник: Революционный анализ данных на основе: Интеллектуальное исполнение   |  Генерировать код  |  Создание пользовательских формул  |  Анализ данных и создание диаграмм  |  Вызов функций Kutools...
Популярные опции: Найдите, выделите или определите дубликаты   |  Удалить пустые строки   |  Объедините столбцы или ячейки без потери данных   |   Раунд без формулы ...
Супер поиск: Множественный критерий VLookup    VLookup с несколькими значениями  |   VLookup по нескольким листам   |   Нечеткий поиск ....
Расширенный раскрывающийся список: Быстрое создание раскрывающегося списка   |  Зависимый раскрывающийся список   |  Выпадающий список с множественным выбором ....
Менеджер столбцов: Добавить определенное количество столбцов  |  Переместить столбцы  |  Переключить статус видимости скрытых столбцов  |  Сравнить диапазоны и столбцы ...
Рекомендуемые функции: Сетка Фокус   |  Просмотр дизайна   |   Большой Формулный Бар    Менеджер книг и листов   |  Библиотека ресурсов (Авто текст)   |  Выбор даты   |  Комбинировать листы   |  Шифровать/дешифровать ячейки    Отправлять электронные письма по списку   |  Суперфильтр   |   Специальный фильтр (фильтровать жирным шрифтом/курсивом/зачеркиванием...) ...
15 лучших наборов инструментов12 Текст Инструменты (Добавить текст, Удалить символы, ...)   |   50+ График Тип (Диаграмма Ганта, ...)   |   40+ Практических Формулы (Рассчитать возраст по дню рождения, ...)   |   19 Вносимые Инструменты (Вставить QR-код, Вставить изображение из пути, ...)   |   12 Конверсия Инструменты (Числа в слова, Конверсия валюты, ...)   |   7 Слияние и разделение Инструменты (Расширенные ряды комбинирования, Разделить клетки, ...)   |   ... и более

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

Описание


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
Comments (10)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Please suggest modifications in the VBA code to force the text strings to change to the desired format (Upper/Lower/Proper case) in selected/specified cells only rather than changing the Case of the text strings in the entire worksheet.
This comment was minimized by the moderator on the site
Hello, DS,
To apply the code to a specified range instead of entire worksheet, please apply the following code:
VBA code: Force text string to uppercase
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim SpecifiedRange As Range
    Set SpecifiedRange = Me.Range("A1:A10")
    If Not Intersect(Target, SpecifiedRange) Is Nothing Then
        Application.EnableEvents = False
        Target.Value = VBA.UCase(Target.Value)
        Application.EnableEvents = True
    End If
End Sub


VBA code: Force text string to lowercase
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim SpecifiedRange As Range
    Set SpecifiedRange = Me.Range("A1:A10")
    If Not Intersect(Target, SpecifiedRange) Is Nothing Then
        Application.EnableEvents = False
        Target.Value = VBA.LCase(Target.Value)
        Application.EnableEvents = True
    End If
End Sub


VBA code: Force text string to propercase
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim SpecifiedRange As Range
    Set SpecifiedRange = Me.Range("A1:A10")
    If Not Intersect(Target, SpecifiedRange) Is Nothing Then
        Application.EnableEvents = False
        Target.Value = Application.Proper(Target.Value)
        Application.EnableEvents = True
    End If
End Sub


Please have a try, thank you!
This comment was minimized by the moderator on the site
Use: On Error Resume Next

Private Sub Worksheet_Change(ByVal Target As Range)
'Update 20140603
On Error Resume Next
Target.Value = Application.WorksheetFunction.Proper(Target.Value)
End Sub
This comment was minimized by the moderator on the site
muchas gracias, sirvio enormemente estos codigos
This comment was minimized by the moderator on the site
This worked for me, however if you went to delete the contents of the cell then a "runtime error '13': type mismatch" came up

Any ideas?
This comment was minimized by the moderator on the site
i have the same problem. if you know how to deal with it please tell me!
This comment was minimized by the moderator on the site
Hello, which method you use will come up the errors?
This comment was minimized by the moderator on the site
Like your VBA solution, but how could I limit it to a single column and format other columns differently, e.g., columns A and C force uppercase, column B force proper case?
This comment was minimized by the moderator on the site
I do not know which VBA can handle your job (some columns in uppercase, some in proper case), but the data validation can solve it, why do not use it?
This comment was minimized by the moderator on the site
thanks for the macro to convert all entries to capital letters, but is there something i need to do to stop the macro from crashing excel every fe minutes? Appreciate the help!
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations