Как быстро разделить текстовую строку по регистру в Excel?
В Excel мы обычно разделяем текст по фиксированной ширине или разделителю с помощью функции «Текст по столбцам», но пробовали ли вы когда-нибудь разделить текст по верхнему и нижнему регистру? Например, у вас есть список данных, и вам нужно разделить их на два столбца на основе регистра: один столбец содержит строчные символы, а другой — прописные символы, как показано на скриншоте ниже. Функция «Текст по столбцам» не поддерживает эту операцию, однако я могу предложить хитрость для быстрого разделения текстовой строки по регистру в Excel.
Разделение текста по регистру с помощью VBA
Разделение текста на строки/столбцы по разделителю с помощью Kutools для Excel
Разделение текста по регистру с помощью VBA
В Excel существует только макрос для быстрого разделения строки на основе нижнего и верхнего регистра.
1. Нажмите клавиши Alt + F11, чтобы открыть окно Microsoft Visual Basic for Applications.
2. Щелкните Вставить > Модуль и вставьте следующий код в пустой скрипт Модуля.
VBA: Разделение строки по регистру.
Sub CamelCase()
'UpdatebyExtendoffice20160711
Dim xRg As Range
Dim xTxt As String
Dim xCell As Range
Dim xCount As Long
On Error Resume Next
If ActiveWindow.RangeSelection.Count > 1 Then
xTxt = ActiveWindow.RangeSelection.AddressLocal
Else
xTxt = ActiveSheet.UsedRange.AddressLocal
End If
LInput:
Set xRg = Nothing
Set xRg = Application.InputBox("Select a range:", "Kutools for Excel", xTxt, , , , , 8)
If xRg Is Nothing Then Exit Sub
If xRg.Areas.Count > 1 Then
MsgBox "It not work in multiple selection", vbInformation, "Kutools for Excel"
GoTo LInput
End If
If xRg.Columns.Count > 1 Then
MsgBox "It only work in one column", vbInformation, "Kutools for Excel"
GoTo LInput
End If
On Error Resume Next
Application.ScreenUpdating = False
With CreateObject("vbscript.regexp")
.Pattern = "(\S)([A-Z]+[^A-Z])"
.Global = True
For Each xCell In xRg
xCount = .Execute(xCell).Count
If xCount Then xCell.Resize(, xCount + 1) = Split(.Replace(xCell, "$1" & Chr(1) & "$2"), Chr(1))
Next
End With
Application.ScreenUpdating = True
End Sub
3. Нажмите F5 , и появится диалоговое окно, напоминающее выбрать текст для разделения. См. скриншот:
4. Нажмите OK, и выбранный текст будет разделен на два столбца, один из которых содержит строчные буквы, а другой — прописные.
Разделение текста на строки/столбцы по разделителю с помощью Kutools для Excel
Во многих случаях может потребоваться разделить ячейку на несколько строк или столбцов на основе определенного символа. В Excel встроенная функция «Текст по столбцам» позволяет преобразовать ячейку только в столбцы, но не работает для преобразования в строки. Однако с помощью Kutools для Excel — удобного и полезного инструмента — вы можете использовать его функцию «Разделить ячейки», чтобы быстро разделить строку на строки или столбцы на основе разделителя или фиксированной ширины.
После бесплатной установки Kutools для Excel выполните следующие действия:
1. Выберите ячейку, которую хотите разделить, и нажмите Kutools > Объединить и разделить > Разделить ячейки. См. скриншот:
2. В диалоговом окне Разделить ячейки выберите тип разделения, который вы хотите, в разделе Тип , и перейдите к выбору конкретного разделителя, по которому вы хотите разделить, в разделе Разделить по . См. скриншот:
3. Нажмите Ok, появится диалоговое окно, напоминающее выбрать ячейку для размещения разделенного содержимого. См. скриншот:
4. После выбора нажмите OK, и выбранная ячейка будет разделена на строки на основе пробела. См. скриншот:
Лучшие инструменты для повышения продуктивности работы с Office
Ускорьте работу в Excel с Kutools для Excel и ощутите новую степень эффективности. Kutools для Excel предлагает более300 расширенных функций для повышения продуктивности и экономии времени. Нажмите здесь, чтобы выбрать нужную вам функцию...
Office Tab добавляет вкладки в Office и делает вашу работу намного проще
- Включите редактирование и чтение с вкладками в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Открывайте и создавайте несколько документов во вкладках одного окна, а не в отдельных окнах.
- Увеличьте свою продуктивность на50% и сократите сотни лишних кликов мышью каждый день!