Tách văn bản thành nhiều hàng trong Excel bằng VBA (Phần 2)

Quảng cáo 1

Nếu bạn không có hàm TEXTSPLIT trong phiên bản Excel của mình, bạn có thể giải quyết một cách hiệu quả là tạo hàm của riêng mình bằng VBA.

Dưới đây là mã VBA sẽ tạo một hàm chia văn bản trong một ô thành các hàng (dựa trên dấu phân cách đã chỉ định).

'Code developed by Sumit Bansal from https://trumpexcel.com

Function SplitCellToRows(CellValue As Range, Delimiter As String)
    Dim SplitValues() As String
    
    'Split the value by the specified delimiter into an array
    SplitValues = Split(CellValue.Value, Delimiter)
    
    'Go thorugh each element of the array and remove any leading or trailing spaces
    For i = LBound(SplitValues) To UBound(SplitValues)
            SplitValues(i) = Trim(SplitValues(i))
    Next i
    
    'Return the array
    SplitCellToRows = WorksheetFunction.Transpose(SplitValues)
    
End Function

Hàm trên (được gọi là SplitCellToRows) nhận hai đối số:

  • Tham chiếu ô của ô có văn bản muốn chia thành hàng
  • Dấu phân cách trong dấu ngoặc kép

Đặt mã này ở đâu?

Dưới đây là các bước để đặt mã này vào VB Editor:

  1. Giữ phím ALT rồi nhấn phím F11. Điều này sẽ mở trình soạn thảo VB. Ngoài ra, bạn cũng có thể nhấp vào tab Nhà phát triển rồi nhấp vào biểu tượng Visual Basic trong dải băng.
  2. Trong menu soạn thảo VB, bấm vào tùy chọn Chèn và sau đó bấm vào Mô-đun. Điều này sẽ chèn một mô-đun mới nơi chúng ta sẽ sao chép-dán mã chức năng tùy chỉnh ở trên.
Chèn một mô-đun mới vào trình soạn thảo vb
  1. Sao chép-dán mã VBA ở trên vào cửa sổ mã mô-đun.
Sao chép và dán mã vba vào cửa sổ mã mô-đun
  1. Bấm vào biểu tượng Lưu trên thanh công cụ (hoặc sử dụng Control + S)
Lưu mã
  1. Đóng VB Editor để quay lại bảng tính.

Làm cách nào để sử dụng chức năng tùy chỉnh VBA này?

Dưới đây là ví dụ về địa chỉ của tôi trong ô A2 mà tôi muốn chia thành các hàng.

Địa chỉ trong ô A2 cho văn bản thành hàng

Tôi có thể sử dụng công thức bên dưới để nhận kết quả trong ô A4:=SplitCellToRows(A2,”,””)

Sử dụng hàm vba do người dùng xác định trong bảng tính

Công thức trên có hai đối số:

  • A2 – Đây là tham chiếu ô của ô có địa chỉ
  • “,” – Vì dấu phân cách của tôi là dấu phẩy nên tôi đã chỉ định nó trong dấu ngoặc kép.

Những điều cần biết khi sử dụng hàm do VBA tạo

  • Nếu sau này muốn sử dụng lại chức năng này, bạn cần lưu tệp của mình bằng phần mở rộng sổ làm việc hỗ trợ macro (.xlsm)
  • Không giống như các hàm trang tính khác, Hàm do người dùng xác định (UDF) được tạo bằng vb sẽ không hiển thị cho bạn bất kỳ thông tin hoặc trợ giúp nào về các đối số của hàm. Bạn cần biết hàm sẽ lấy bao nhiêu và loại đối số nào.
  • Nếu bạn chia sẻ sổ làm việc này với người khác, hàm này sẽ không hoạt động trên tệp của họ trừ khi họ cũng thêm mã hàm vào VB Editor của họ.

Đây là một số phương pháp bạn có thể sử dụng để chia văn bản thành các hàng trong Excel.

Quảng cáo 2

Hãy bình luận đầu tiên

Để lại một phản hồi

Thư điện tử của bạn sẽ không được hiện thị công khai.


*