Прескочи на основното съдържание

Как да принудя текстов низ към главни / малки / правилни букви в Excel?

Автор: Xiaoyang Последна промяна: 2020-05-08

В Excel, когато въвеждате някои букви или думи в клетките, искате да принудите текстовите низове да бъдат главни, въпреки че сте въвели малки или правилни букви и обратно. Повечето от нас може да обмислят функцията за проверка на данните в Excel, с тази функция ще получим предупреждение, когато не въведем правилния регистър на текста. В тази статия ще представя някои интересни начини за принудително въвеждане на главни, малки или правилни букви в текста според нуждите ви.

Накарайте текстовите низове да бъдат главни / малки / правилни с валидиране на данни

Накарайте текстовите низове да бъдат главни / малки / правилни с VBA код

Променете текста на ГЛАВНИ/малки букви/Правилен регистър с Kutools за Excel добра идея3


Проверката на данните е мощен инструмент в Excel, може да ни помогне да извършваме много операции, с негова помощ можем също така да принудим главните, малките или правилните букви на текстовите низове, когато пишете, моля, направете следното:

1. Отидете на щракване Дата > Потвърждаване на данните > Потвърждаване на данните, вижте екранна снимка:

doc-force-главни букви-1

2. В Потвърждаване на данните диалогов прозорец под Настройки , кликнете върху Позволете падащ списък и изберете Custom опция, след това в Формула текстово поле, въведете тази формула =ТОЧНО(ГОРЕН(A1),A1), (A1 означава колона, в която ще приложите тази функция, можете да я промените според вашите нужди), вижте екранната снимка:

doc-force-главни букви-1

3. След това можете да създадете предупреждение, както ви е необходимо, моля, щракнете Предупреждение за грешка И изберете Спиране от Стил падащ списък, в десния ъгъл на Съобщение за грешка текстово поле, въведете вашето собствено предупредително съобщение, вижте екранната снимка:

doc-force-главни букви-1

4, И после щракнете върху OK за да затворите диалоговия прозорец, сега, когато въведете текстовия низ не с главни букви в колона A, ще изскочи предупредително поле, за да ви напомни да въведете главни букви.

doc-force-главни букви-1

Забележка:

Ако трябва да принудите текстовите низове да бъдат малки или правилни, моля, приложете следните формули в Потвърждаване на данните в стъпка 2.

Принудително към малки букви: =ТОЧНО(LOWER(A1),A1);

Принудително към правилен регистър: =ТОЧЕН(ПРАВИЛЕН(A1),A1)


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

1. Задръжте натиснат ALT + F11 ключове и отваря Прозорец на Microsoft Visual Basic за приложения.

2. След това изберете използвания работен лист отляво Project Explorer, щракнете два пъти върху него, за да отворите Модулии след това копирайте и поставете следния VBA код в празния модул:

Код на VBA: Принудително насочване на текстов низ към главни букви

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

doc-force-главни букви-1

3. След това запазете и затворете този код, за да се върнете към работния лист, сега, когато въвеждате текстов низ, когато е с малки или правилни букви, той ще стане с главни букви след докосване на Въведете ключ автоматично.

Забележки:

1. Този код се прилага към целия работен лист.

2. Ако не можете да намерите Project Explorer панел в прозореца, можете да щракнете Гледка > Project Explorer да го отворите.

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 за Excel за да го направите бързо.

Kutools за Excel, с повече от 300 удобни функции, прави работата ви по-лесна. 

След безплатно инсталиране Kutools за Excel, моля, направете следното:

1. Изберете текстовете, които искате да промените с главни и малки букви, и щракнете Kutools > Текст > Промяна на делото. Вижте екранна снимка:
документ промяна на регистър 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 за Excel и изпитайте ефективност, както никога досега. Kutools за Excel предлага над 300 разширени функции за повишаване на производителността и спестяване на време.  Щракнете тук, за да получите функцията, от която се нуждаете най-много...

Описание


Раздел Office Внася интерфейс с раздели в Office и прави работата ви много по-лесна

  • Разрешете редактиране и четене с раздели в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
  • Отваряйте и създавайте множество документи в нови раздели на един и същ прозорец, а не в нови прозорци.
  • Увеличава вашата производителност с 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