Как переместить последнее слово в следующую соседнюю ячейку?
Предположим, у меня есть список текстовых строк, и я хочу переместить последнее слово в следующую соседнюю ячейку, как показано на следующем скриншоте. Конечно, можно вырезать и вставить их по одному, но существуют ли быстрые способы для нас, чтобы сразу переместить их в следующую ячейку в Excel?
Перемещение последнего слова в следующую соседнюю ячейку с помощью кода VBA
Извлечение последнего слова в следующую соседнюю ячейку с помощью формулы
Перемещение последнего слова в следующую соседнюю ячейку с помощью кода VBA
Чтобы вырезать и переместить последнее слово из одной ячейки в следующую соседнюю ячейку, примените следующий код VBA:
1. Нажмите и удерживайте клавиши ALT + F11, чтобы открыть окно Microsoft Visual Basic for Applications.
2. Нажмите Вставить > Модуль и вставьте следующий код в окно Модуля.
Код VBA: Перемещение последнего слова в следующую соседнюю ячейку:
Sub splitlastword()
Dim xCell As Range
Dim xStr As String
Dim xAddress As String
Dim xRg As Range
On Error Resume Next
xAddress = ActiveWindow.RangeSelection.Address
Set xRg = Application.InputBox("Please selec the text cells:", "Kutools for Excel", xAddress, , , , , 8)
If xRg Is Nothing Then Exit Sub
If xRg.Columns.Count > 1 Then
MsgBox "Only one column in the seleted range", vbInformation, "Kutools for Excel"
Exit Sub
End If
For Each xCell In xRg
xStr = Trim(xCell.Value)
xCell.Offset(0, 1) = Mid(xStr, InStrRev(xStr, " "))
xCell.Value = Left(xStr, InStrRev(xStr, " "))
Next
End Sub
3. Затем нажмите клавишу F5, чтобы запустить этот код, и появится диалоговое окно, напоминающее вам выбрать текстовые ячейки, из которых вы хотите переместить последнее слово, см. скриншот:
4. Затем нажмите кнопку ОК, и последние слова в выбранных ячейках будут немедленно перемещены в соседние правые ячейки, см. скриншот:
Извлечение последнего слова в следующую соседнюю ячейку с помощью формулы
Если вам просто нужно извлечь последние слова из текстовых строк, не перемещая их, следующая формула может помочь.
Пожалуйста, введите эту формулу:
=RIGHT(A2,LEN(A2)-FIND("*",SUBSTITUTE(A2," ","*",LEN(A2)-LEN(SUBSTITUTE(A2," ",""))))) в пустую ячейку рядом с текстовой ячейкой, а затем перетащите маркер заполнения вниз к ячейкам, из которых вы хотите извлечь последнее слово; все последние слова будут извлечены из текстовых строк без перемещения оригинальных. См. скриншот:
Лучшие инструменты для повышения продуктивности работы с Office
Ускорьте работу в Excel с Kutools для Excel и ощутите новую степень эффективности. Kutools для Excel предлагает более300 расширенных функций для повышения продуктивности и экономии времени. Нажмите здесь, чтобы выбрать нужную вам функцию...
Office Tab добавляет вкладки в Office и делает вашу работу намного проще
- Включите редактирование и чтение с вкладками в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Открывайте и создавайте несколько документов во вкладках одного окна, а не в отдельных окнах.
- Увеличьте свою продуктивность на50% и сократите сотни лишних кликов мышью каждый день!