Gå til hovedindhold

Hvordan flyttes sidste ord til næste tilstødende celle?

Antag, jeg har en liste med tekststrenge, som jeg vil flytte det sidste ord til næste tilstødende celle som vist på skærmbilledet, selvfølgelig kan du klippe og indsætte dem en efter en, men er der nogen hurtige måder for os at flytte på dem til næste celle på én gang i Excel?

doc flytte sidste ord til næste celle 1

Flyt sidste ord til næste tilstødende celle med VBA-kode

Uddrag sidste ord til næste tilstødende celle med formel


pil blå højre boble Flyt sidste ord til næste tilstødende celle med VBA-kode

Hvis du vil klippe og flytte det sidste ord fra en celle til den næste tilstødende celle, skal du anvende følgende VBA-kode:

1. Hold nede i ALT + F11 nøgler til at åbne Microsoft Visual Basic til applikationer vindue.

2. Klik indsatte > Moduler, og indsæt følgende kode i Moduler Vindue.

VBA-kode: Flyt sidste ord til næste tilstødende celle:

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. Tryk derefter på F5 nøgle til at køre denne kode, og der vises en promptboks for at minde dig om at vælge de tekstceller, som du vil flytte det sidste ord fra, se skærmbillede:

doc flytte sidste ord til næste celle 2

4. Og klik derefter på OK knappen, de sidste ord i valgte celler er flyttet til de næste tilstødende højre celler med det samme, se skærmbillede:

doc flytte sidste ord til næste celle 1


pil blå højre boble Uddrag sidste ord til næste tilstødende celle med formel

Hvis du bare har brug for at udtrække de sidste ord fra tekststrengene uden at flytte dem, kan følgende formel gøre dig en tjeneste.

Indtast venligst denne formel:

=RIGHT(A2,LEN(A2)-FIND("*",SUBSTITUTE(A2," ","*",LEN(A2)-LEN(SUBSTITUTE(A2," ",""))))) ind i en tom celle ved siden af ​​tekstcellen, og træk derefter udfyldningshåndtaget ned til de celler, som du vil udtrække det sidste ord, alle sidste ord er blevet uddraget fra tekststrengene uden at flytte de originale. Se skærmbillede:

doc flytte sidste ord til næste celle 3

Bedste kontorproduktivitetsværktøjer

🤖 Kutools AI Aide: Revolutionér dataanalyse baseret på: Intelligent udførelse   |  Generer kode  |  Opret brugerdefinerede formler  |  Analyser data og generer diagrammer  |  Aktiver Kutools funktioner...
Populære funktioner: Find, fremhæv eller identificer dubletter   |  Slet tomme rækker   |  Kombiner kolonner eller celler uden at miste data   |   Runde uden formel ...
Super opslag: VLookup med flere kriterier    Multiple Value VLookup  |   VOpslag på tværs af flere ark   |   Fuzzy Lookup ....
Avanceret rulleliste: Opret hurtigt rulleliste   |  Afhængig rulleliste   |  Multivælg rulleliste ....
Column Manager: Tilføj et bestemt antal kolonner  |  Flyt kolonner  |  Skift synlighedsstatus for skjulte kolonner  |  Sammenlign områder og kolonner ...
Fremhævede funktioner: Grid fokus   |  Designvisning   |   Stor Formel Bar    Arbejdsbog & Ark Manager   |  Ressourcebibliotek (Autotekst)   |  Datovælger   |  Kombiner regneark   |  Krypter/Dekrypter celler    Send e-mails efter liste   |  Superfilter   |   Specielt filter (filter fed/kursiv/gennemstreget...) ...
Top 15 værktøjssæt12 tekst Værktøjer (tilføje tekst, Fjern tegn, ...)   |   50 + Chart Typer (Gantt kort, ...)   |   40+ Praktisk formler (Beregn alder baseret på fødselsdag, ...)   |   19 Indsættelse Værktøjer (Indsæt QR-kode, Indsæt billede fra sti, ...)   |   12 Konvertering Værktøjer (Tal til ord, Valutaomregning, ...)   |   7 Flet og del Værktøjer (Avancerede kombinere rækker, Opdel celler, ...)   |   ... og mere

Overlad dine Excel-færdigheder med Kutools til Excel, og oplev effektivitet som aldrig før. Kutools til Excel tilbyder over 300 avancerede funktioner for at øge produktiviteten og spare tid.  Klik her for at få den funktion, du har mest brug for...

Beskrivelse


Fanen Office bringer en grænseflade til et kontor med Office, og gør dit arbejde meget lettere

  • Aktiver redigering og læsning af faner i Word, Excel, PowerPoint, Publisher, Access, Visio og Project.
  • Åbn og opret flere dokumenter i nye faner i det samme vindue snarere end i nye vinduer.
  • Øger din produktivitet med 50 % og reducerer hundredvis af museklik for dig hver dag!
Comments (2)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Hi, I used the VBA code which is amazing! the question is how I can select the first or second word in the cell to be moved?
This comment was minimized by the moderator on the site
Hello, Lipa,
To move the first, second or nth word from cells, please apply the below code:

Note: To change the number 1 in this xIndex = 1 to other number you want to use. For example, if you want to move the second word, change the number 1 to 2.

Sub splitlastword()
'Updateby Extendoffice
    Dim xCell As Range
    Dim xStr As String
    Dim xAddress As String
    Dim xRg As Range
    Dim I As Integer
    Dim arrSplit() As String
    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
    delimiter = " "
    xIndex = 1
    For Each xCell In xRg
        xStr = Trim(xCell.Value)
        If xStr <> "" Then
            arrSplit = Split(xStr, delimiter)
            If UBound(arrSplit, 1) >= xIndex Then
                xCell.Offset(0, 1) = arrSplit(xIndex - 1)
                ystr = ""
                For I = 0 To UBound(arrSplit, 1)
                    If xIndex - 1 <> I Then
                        ystr = ystr + arrSplit(I) + delimiter
                    End If
                Next
                ystr = Left(ystr, Len(ystr) - Len(delimiter))
                xCell.Value = ystr
            End If
        End If
    Next
End Sub

Please have a try, hope it can help you!
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations