How to move last word to next adjacent cell?
Supposing, I have a list of text strings which I want to move the last word to next adjacent cell as following screenshot shown, of course, you can cut and paste them one by one, but, are there any quick ways for us to move them to next cell at once in Excel?
To cut and move the last word from one cell to the next adjacent cell, please apply the following VBA code:
1. Hold down the ALT + F11 keys to open the Microsoft Visual Basic for Applications window.
2. Click Insert > Module, and paste the following code in the Module Window.
VBA code: Move last word to next adjacent cell:
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. Then press F5 key to run this code, and a prompt box is popped out to remind you selecting the text cells that you want to move the last word from, see screenshot:
4. And then click OK button, the last words in selected cells have been moved to the next adjacent right cells immediately, see screenshot:
If you just need to extract the last words from the text strings without moving them, the following formula can do you a favor.
Please enter this formula:
=RIGHT(A2,LEN(A2)-FIND("*",SUBSTITUTE(A2," ","*",LEN(A2)-LEN(SUBSTITUTE(A2," ",""))))) into a blank cell next to the text cell, and then drag the fill handle down to the cells which you want to extract the last word, all last words have been extracted from the text strings without moving the original ones. See screenshot: