Как извлечь заглавные буквы или слова, начинающиеся с заглавной буквы, из текстовых строк?
Если у вас есть список текстовых строк, и вы хотите извлечь только заглавные буквы или слова, начинающиеся с заглавной буквы, из ячеек. Как можно решить эту задачу в Excel?
Извлечение заглавных букв из текстовых строк с помощью пользовательской функции
Извлечение заглавных букв из текстовых строк с помощью пользовательской функции
Следующий код VBA поможет вам извлечь только заглавные буквы из ячеек, выполните следующие действия:
1. Нажмите и удерживайте клавиши ALT + F11, чтобы открыть окно Microsoft Visual Basic for Applications.
2. Нажмите Вставить > Модуль и вставьте следующий код в окно Модуля.
Код VBA: Извлечение только заглавных букв из текстовых строк:
Function ExtractCap(Txt As String) As String
'Updateby Extendoffice
Application.Volatile
Dim xRegEx As Object
Set xRegEx = CreateObject("VBSCRIPT.REGEXP")
xRegEx.Pattern = "[^A-Z]"
xRegEx.Global = True
ExtractCap = xRegEx.Replace(Txt, "")
Set xRegEx = Nothing
End Function
3. Затем сохраните код и закройте это окно, вернитесь на лист, введите формулу: =EXTRACTCAP(A2) в пустую ячейку, куда вы хотите вывести результат, затем перетащите маркер заполнения вниз по ячейкам, к которым вы хотите применить эту формулу, и все заглавные буквы будут извлечены сразу, см. скриншот:
Извлечение слов, начинающихся с заглавной буквы, из текстовых строк с помощью пользовательской функции
Если вам нужно извлечь слова, которые начинаются с заглавной буквы, из текстовых строк, следующий код VBA может помочь вам.
1. Нажмите и удерживайте клавиши ALT + F11, чтобы открыть окно Microsoft Visual Basic for Applications.
2. Нажмите Вставить > Модуль, затем скопируйте и вставьте следующий код в окно Модуля.
Код VBA: Извлечение слов, начинающихся с заглавной буквы:
Function StrExtract(Str As String) As String
'Updateby Extendoffice
Application.Volatile
Dim xStrList As Variant
Dim xRet As String
Dim I As Long
If Len(Str) = 0 Then Exit Function
xStrList = Split(Str, " ")
If UBound(xStrList) >= 0 Then
For I = 0 To UBound(xStrList)
If xStrList(I) = StrConv(xStrList(I), vbProperCase) Then
xRet = xRet & xStrList(I) & " "
End If
Next
StrExtract = Left(xRet, Len(xRet) - 1)
End If
End Function
3. Затем сохраните код и закройте окно кода, введите формулу: =StrExtract(A2) в пустую ячейку рядом с вашими данными, затем перетащите маркер заполнения вниз по ячейкам, где вы хотите получить результат, и все слова, начинающиеся с заглавной буквы, будут извлечены, см. скриншот:
Лучшие инструменты для повышения продуктивности в Office
Повысьте свои навыки работы в Excel с помощью Kutools для Excel и ощутите эффективность на новом уровне. Kutools для Excel предлагает более300 расширенных функций для повышения производительности и экономии времени. Нажмите здесь, чтобы выбрать функцию, которая вам нужнее всего...
Office Tab добавляет вкладки в Office и делает вашу работу намного проще
- Включите режим вкладок для редактирования и чтения в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Открывайте и создавайте несколько документов во вкладках одного окна вместо новых отдельных окон.
- Увеличьте свою продуктивность на50% и уменьшите количество щелчков мышью на сотни ежедневно!
Все надстройки Kutools. Один установщик
Пакет Kutools for Office включает надстройки для Excel, Word, Outlook и PowerPoint, а также Office Tab Pro — идеально для команд, работающих в разных приложениях Office.





- Комплексный набор — надстройки для Excel, Word, Outlook и PowerPoint плюс Office Tab Pro
- Один установщик, одна лицензия — настройка занимает считанные минуты (MSI-совместимо)
- Совместная работа — максимальная эффективность между приложениями Office
- 30-дневная полнофункциональная пробная версия — без регистрации и кредитной карты
- Лучшее соотношение цены и качества — экономия по сравнению с покупкой отдельных надстроек