Ugrás a tartalomra

Hogyan lehet az utolsó szót áthelyezni a következő szomszédos cellába?

Tételezzük fel, hogy van egy listám szöveges karakterláncokról, amelyeket az utolsó szót át akarok helyezni a következő szomszédos cellába, az alábbi képernyőkép szerint. Természetesen egyesével kivághatja és beillesztheti őket, de vannak-e gyors módjaink őket azonnal az Excel következő cellájába?

doc áthelyezi az utolsó szót az 1. cellába

Vigye az utolsó szót a következő szomszédos cellába VBA kóddal

Bontsa ki az utolsó szót a következő szomszédos cellába képlettel


nyíl kék jobb buborék Vigye az utolsó szót a következő szomszédos cellába VBA kóddal

Az utolsó szó egyik cellából a következő szomszédos cellába történő átvágásához és a következő VBA-kód használatához:

1. Tartsa lenyomva a ALT + F11 billentyűk megnyitásához Microsoft Visual Basic for Applications ablak.

2. Kattints betétlap > Modulok, és illessze be a következő kódot a Modulok Ablak.

VBA kód: Az utolsó szó áthelyezése a következő szomszédos cellába:

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. Ezután nyomja meg a gombot F5 kulcs a kód futtatásához, és megjelenik egy felszólító doboz, amely emlékeztet arra, hogy kiválasztja azokat a szöveges cellákat, amelyekből az utolsó szót áthelyezni szeretné, lásd a képernyőképet:

doc áthelyezi az utolsó szót az 2. cellába

4. Kattintson a gombra OK gomb, a kijelölt cellák utolsó szavai azonnal átkerültek a következő szomszédos jobb cellákba, lásd a képernyőképet:

doc áthelyezi az utolsó szót az 1. cellába


nyíl kék jobb buborék Bontsa ki az utolsó szót a következő szomszédos cellába képlettel

Ha csak az utolsó szavakat kell kibontania a szöveges karakterláncokból anélkül, hogy azokat áthelyezné, a következő képlet tehet Önnek szívességet.

Kérjük, írja be ezt a képletet:

=RIGHT(A2,LEN(A2)-FIND("*",SUBSTITUTE(A2," ","*",LEN(A2)-LEN(SUBSTITUTE(A2," ",""))))) egy üres cellába a szövegcella mellett, majd húzza lefelé a kitöltő fogantyút azokhoz a cellákhoz, amelyekből ki akarja vonni az utolsó szót. Az összes utolsó szót kivonták a szöveges karakterláncokból az eredeti szavak mozgatása nélkül. Lásd a képernyőképet:

doc áthelyezi az utolsó szót az 3. cellába

A legjobb irodai hatékonyságnövelő eszközök

🤖 Kutools AI Aide: Forradalmasítsa az adatelemzést a következők alapján: Intelligens végrehajtás   |  Kód létrehozása  |  Hozzon létre egyéni képleteket  |  Adatok elemzése és diagramok létrehozása  |  A Kutools funkciók meghívása...
Népszerű szolgáltatások: Ismétlődések keresése, kiemelése vagy azonosítása   |  Üres sorok törlése   |  Oszlopok vagy cellák kombinálása adatvesztés nélkül   |   Kerek Formula nélkül ...
Szuper keresés: Több kritérium VLookup    Többértékű VLookup  |   VLookup több munkalapon   |   Fuzzy Lookup ....
Speciális legördülő lista: Gyors legördülő lista létrehozása   |  Függő legördülő lista   |  Többszörösen válassza ki a legördülő listát ....
Oszlopkezelő: Adjon meg egy adott számú oszlopot  |  Oszlopok mozgatása  |  Kapcsolja be a Rejtett oszlopok láthatósági állapotát  |  Tartományok és oszlopok összehasonlítása ...
Kiemelt funkciók: Rács fókusz   |  Design nézet   |   Nagy Formula bár    Munkafüzet és lapkezelő   |  Erőforrás-könyvtár (Auto szöveg)   |  Dátumválasztó   |  Kombinálja a munkalapokat   |  Cellák titkosítása/dekódolása    E-mailek küldése listánként   |  Szuper szűrő   |   Speciális szűrő (félkövér/dőlt/áthúzott szűrés...) ...
A 15 legjobb eszközkészlet12 szöveg Eszközök (Szöveg hozzáadása, Karakterek eltávolítása,...)   |   50 + Táblázatos Típusai (Gantt-diagram,...)   |   40+ Praktikus képletek (Számolja ki az életkort a születésnap alapján,...)   |   19 beszúrás Eszközök (Helyezze be a QR-kódot, Kép beszúrása az útvonalból,...)   |   12 Átalakítás Eszközök (Számok szavakig, Valuta átváltás,...)   |   7 Egyesítés és felosztás Eszközök (Haladó kombinált sorok, Hasított sejtek,...)   |   ... és több

Töltsd fel Excel-készségeidet a Kutools for Excel segítségével, és tapasztald meg a még soha nem látott hatékonyságot. A Kutools for Excel több mint 300 speciális funkciót kínál a termelékenység fokozásához és az időmegtakarításhoz.  Kattintson ide, hogy megszerezze a leginkább szükséges funkciót...

Leírás


Az Office lap füles felületet hoz az Office-ba, és sokkal könnyebbé teszi a munkáját

  • Füles szerkesztés és olvasás engedélyezése Wordben, Excelben és PowerPointban, Publisher, Access, Visio és Project.
  • Több dokumentum megnyitása és létrehozása ugyanazon ablak új lapjain, mint új ablakokban.
  • 50% -kal növeli a termelékenységet, és naponta több száz kattintással csökkenti az egér kattintását!
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