メインコンテンツへスキップ

最後の単語を次の隣接するセルに移動するにはどうすればよいですか?

次のスクリーンショットに示すように、最後の単語を次の隣接するセルに移動したいテキスト文字列のリストがあるとします。もちろん、それらをXNUMXつずつ切り取って貼り付けることもできますが、すばやく移動する方法はありますか。 Excelで一度に次のセルに移動しますか?

doc最後の単語を次のセルに移動1

VBAコードを使用して最後の単語を次の隣接セルに移動する

数式を使用して、最後の単語を次の隣接するセルに抽出します


矢印青い右バブル VBAコードを使用して最後の単語を次の隣接セルに移動する

最後の単語を切り取ってXNUMXつのセルから次の隣接するセルに移動するには、次のVBAコードを適用してください。

1. 押したまま Alt + F11 キーを押して アプリケーション向け Microsoft Visual Basic 窓。

2に設定します。 OK をクリックします。 インセット > モジュール、次のコードをに貼り付けます モジュール 窓。

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 このコードを実行するためのキーを押すと、最後の単語を移動するテキストセルを選択するように促すプロンプトボックスが表示されます。スクリーンショットを参照してください。

doc最後の単語を次のセルに移動2

4。 そして、 OK ボタンをクリックすると、選択したセルの最後の単語がすぐに隣接する右のセルに移動しました。スクリーンショットを参照してください。

doc最後の単語を次のセルに移動1


矢印青い右バブル 数式を使用して、最後の単語を次の隣接するセルに抽出します

テキスト文字列から最後の単語を移動せずに抽出する必要がある場合は、次の式を使用すると便利です。

次の式を入力してください:

=RIGHT(A2,LEN(A2)-FIND("*",SUBSTITUTE(A2," ","*",LEN(A2)-LEN(SUBSTITUTE(A2," ",""))))) テキストセルの横の空白のセルに入力し、最後の単語を抽出するセルまで塗りつぶしハンドルをドラッグします。最後の単語はすべて、元の単語を移動せずにテキスト文字列から抽出されています。 スクリーンショットを参照してください:

doc最後の単語を次のセルに移動3

最高のオフィス生産性向上ツール

人気の機能: 重複を検索、強調表示、または識別する   |  空白行を削除する   |  データを失わずに列またはセルを結合する   |   数式なしのラウンド ...
スーパールックアップ: 複数の基準の VLookup    複数の値の VLookup  |   複数のシートにわたる VLookup   |   ファジールックアップ ....
詳細ドロップダウン リスト: ドロップダウンリストを素早く作成する   |  依存関係のドロップダウン リスト   |  複数選択のドロップダウンリスト ....
列マネージャー: 特定の数の列を追加する  |  列の移動  |  Toggle 非表示列の表示ステータス  |  範囲と列の比較 ...
注目の機能: グリッドフォーカス   |  デザインビュー   |   ビッグフォーミュラバー    ワークブックとシートマネージャー   |  リソースライブラリ (自動テキスト)   |  日付ピッカー   |  ワークシートを組み合わせる   |  セルの暗号化/復号化    リストごとにメールを送信する   |  スーパーフィルター   |   特殊フィルター (太字/斜体/取り消し線をフィルター...) ...
上位 15 のツールセット12 テキスト 工具 (テキストを追加, 文字を削除する、...)   |   50+ チャート 種類 (ガントチャート、...)   |   40+ 実用的 (誕生日に基づいて年齢を計算する、...)   |   19 挿入 工具 (QRコードを挿入, パスから画像を挿入、...)   |   12 変換 工具 (数字から言葉へ, 通貨の換算、...)   |   7 マージ&スプリット 工具 (高度な結合行, 分割セル、...)   |   ... もっと

Kutools for Excel で Excel スキルを強化し、これまでにない効率を体験してください。 Kutools for Excelは、生産性を向上させ、時間を節約するための300以上の高度な機能を提供します。  最も必要な機能を入手するにはここをクリックしてください...

kteタブ201905


Officeタブは、タブ付きのインターフェイスをOfficeにもたらし、作​​業をはるかに簡単にします

  • Word、Excel、PowerPointでタブ付きの編集と読み取りを有効にする、パブリッシャー、アクセス、Visioおよびプロジェクト。
  • 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
  • 生産性を 50% 向上させ、毎日何百回もマウス クリックを減らすことができます!
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