Note: The other languages of the website are Google-translated. Back to English

Làm thế nào để di chuyển từ cuối cùng sang ô liền kề tiếp theo?

Giả sử, tôi có một danh sách các chuỗi văn bản mà tôi muốn chuyển từ cuối cùng sang ô liền kề tiếp theo như ảnh chụp màn hình sau được hiển thị, tất nhiên, bạn có thể cắt và dán từng chuỗi một, nhưng, có cách nào nhanh chóng để chúng tôi di chuyển chúng đến ô tiếp theo cùng một lúc trong Excel?

doc di chuyển từ cuối cùng sang ô tiếp theo 1

Di chuyển từ cuối cùng sang ô liền kề tiếp theo bằng mã VBA

Trích xuất từ ​​cuối cùng sang ô liền kề tiếp theo với công thức


mũi tên màu xanh bong bóng bên phải Di chuyển từ cuối cùng sang ô liền kề tiếp theo bằng mã VBA

Để cắt và di chuyển từ cuối cùng từ ô này sang ô liền kề tiếp theo, vui lòng áp dụng mã VBA sau:

1. Giữ phím tắt ALT + F11 phím để mở Microsoft Visual Basic cho các ứng dụng cửa sổ.

2. Nhấp chuột Chèn > Mô-đunvà dán mã sau vào Mô-đun Cửa sổ.

Mã VBA: Di chuyển từ cuối cùng sang ô liền kề tiếp theo:

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. Sau đó nhấn F5 để chạy mã này và một hộp nhắc xuất hiện để nhắc bạn chọn các ô văn bản mà bạn muốn chuyển từ cuối cùng, xem ảnh chụp màn hình:

doc di chuyển từ cuối cùng sang ô tiếp theo 2

4. Và sau đó nhấp vào OK , các từ cuối cùng trong các ô đã chọn đã được chuyển đến các ô bên phải liền kề tiếp theo ngay lập tức, xem ảnh chụp màn hình:

doc di chuyển từ cuối cùng sang ô tiếp theo 1


mũi tên màu xanh bong bóng bên phải Trích xuất từ ​​cuối cùng sang ô liền kề tiếp theo với công thức

Nếu bạn chỉ cần trích xuất các từ cuối cùng từ các chuỗi văn bản mà không cần di chuyển chúng, công thức sau có thể giúp bạn.

Vui lòng nhập công thức này:

=RIGHT(A2,LEN(A2)-FIND("*",SUBSTITUTE(A2," ","*",LEN(A2)-LEN(SUBSTITUTE(A2," ",""))))) vào một ô trống bên cạnh ô văn bản, rồi kéo chốt điền xuống các ô mà bạn muốn trích xuất từ ​​cuối cùng, tất cả các từ cuối cùng đã được trích xuất từ ​​các chuỗi văn bản mà không cần di chuyển các từ ban đầu. Xem ảnh chụp màn hình:

doc di chuyển từ cuối cùng sang ô tiếp theo 3


Các công cụ năng suất văn phòng tốt nhất

Kutools cho Excel giải quyết hầu hết các vấn đề của bạn và tăng 80% năng suất của bạn

  • Tái sử dụng: Chèn nhanh công thức phức tạp, biểu đồ và bất cứ thứ gì bạn đã sử dụng trước đây; Mã hóa ô với mật khẩu; Tạo danh sách gửi thư và gửi email ...
  • Thanh siêu công thức (dễ dàng chỉnh sửa nhiều dòng văn bản và công thức); Bố cục đọc (dễ dàng đọc và chỉnh sửa số lượng ô lớn); Dán vào Dải ô đã Lọchữu ích. Cảm ơn !
  • Hợp nhất các ô / hàng / cột mà không làm mất dữ liệu; Nội dung phân chia ô; Kết hợp các hàng / cột trùng lặp... Ngăn chặn các ô trùng lặp; So sánh các dãyhữu ích. Cảm ơn !
  • Chọn trùng lặp hoặc duy nhất Hàng; Chọn hàng trống (tất cả các ô đều trống); Tìm siêu và Tìm mờ trong Nhiều Sổ làm việc; Chọn ngẫu nhiên ...
  • Bản sao chính xác Nhiều ô mà không thay đổi tham chiếu công thức; Tự động tạo tài liệu tham khảo sang Nhiều Trang tính; Chèn Bullets, Hộp kiểm và hơn thế nữa ...
  • Trích xuất văn bản, Thêm Văn bản, Xóa theo Vị trí, Xóa không gian; Tạo và In Tổng số phân trang; Chuyển đổi giữa nội dung ô và nhận xéthữu ích. Cảm ơn !
  • Siêu lọc (lưu và áp dụng các lược đồ lọc cho các trang tính khác); Sắp xếp nâng cao theo tháng / tuần / ngày, tần suất và hơn thế nữa; Bộ lọc đặc biệt bằng cách in đậm, in nghiêng ...
  • Kết hợp Workbook và WorkSheets; Hợp nhất các bảng dựa trên các cột chính; Chia dữ liệu thành nhiều trang tính; Chuyển đổi hàng loạt xls, xlsx và PDFhữu ích. Cảm ơn !
  • Hơn 300 tính năng mạnh mẽ. Hỗ trợ Office / Excel 2007-2021 và 365. Hỗ trợ tất cả các ngôn ngữ. Dễ dàng triển khai trong doanh nghiệp hoặc tổ chức của bạn. Đầy đủ tính năng Dùng thử miễn phí 30 ngày. Bảo đảm hoàn lại tiền trong 60 ngày.
tab kte 201905

Tab Office mang lại giao diện Tab cho Office và giúp công việc của bạn trở nên dễ dàng hơn nhiều

  • Cho phép chỉnh sửa và đọc theo thẻ trong Word, Excel, PowerPoint, Publisher, Access, Visio và Project.
  • Mở và tạo nhiều tài liệu trong các tab mới của cùng một cửa sổ, thay vì trong các cửa sổ mới.
  • Tăng 50% năng suất của bạn và giảm hàng trăm cú nhấp chuột cho bạn mỗi ngày!
officetab dưới cùng
Nhận xét (2)
Chưa có xếp hạng. Hãy là người đầu tiên xếp hạng!
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào, tôi đã sử dụng mã VBA thật tuyệt vời! câu hỏi là làm thế nào tôi có thể chọn từ đầu tiên hoặc từ thứ hai trong ô sẽ được di chuyển?
Nhận xét này đã được giảm thiểu bởi người điều hành trên trang web
Xin chào, Lipa,
Để di chuyển từ đầu tiên, thứ hai hoặc thứ n từ các ô, vui lòng áp dụng đoạn mã dưới đây:

Chú thích: Để thay đổi số 1 trong x Index = 1 đến số khác mà bạn muốn sử dụng. Ví dụ bạn muốn chuyển từ thứ 1 thì chuyển số 2 thành số XNUMX.

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

Xin vui lòng có một thử, hy vọng nó có thể giúp bạn!
Không có bình luận nào được đăng ở đây
Để lại ý kiến ​​của bạn
Đăng với tư cách khách
×
Đánh giá bài viết này:
0   Nhân vật
Các vị trí được đề xuất

Kết nối với chúng tôi

Bản quyền © 2009 - www.extendoffice.com. | Đã đăng ký Bản quyền. cung cấp bởi ExtendOffice. | BẢN ĐỒ CHI NHÁNH
Microsoft và logo Office là các nhãn hiệu hoặc nhãn hiệu đã đăng ký của Microsoft Corporation tại Hoa Kỳ và / hoặc các quốc gia khác.
Được bảo vệ bởi Sectigo SSL