Menu

Tự động hóa việc xử lý chuỗi ký tự (Text) trong Excel bằng VBA

Ôn Quỳnh Thương 07/06/2026 15:30 460 lượt xem 1 trả lời

Chào các anh em trong diễn đàn Sheet & Excel,

Dạo này mình có làm việc nhiều với dữ liệu văn bản, và nhận ra việc xử lý chuỗi ký tự trong Excel đôi khi khá mất thời gian nếu làm thủ công. May mắn là VBA có thể giúp chúng ta tự động hóa rất nhiều tác vụ này. Hôm nay, mình muốn chia sẻ một vài hàm VBA xử lý chuỗi mà mình thấy hữu ích, hy vọng sẽ giúp ích cho mọi người.

Đầu tiên là các hàm cơ bản, quen thuộc nhưng khi kết hợp lại rất mạnh mẽ:

  • Left(string, length): Lấy ký tự bên trái chuỗi.
  • Right(string, length): Lấy ký tự bên phải chuỗi.
  • Mid(string, start, [length]): Lấy ký tự ở giữa chuỗi.
  • Len(string): Đếm số ký tự trong chuỗi.
  • InStr(string1, string2): Tìm vị trí xuất hiện của chuỗi con (string2) trong chuỗi lớn (string1).
  • Replace(expression, find, replace): Thay thế chuỗi con trong chuỗi lớn.
  • Trim(string): Loại bỏ khoảng trắng thừa ở đầu và cuối chuỗi.

Ví dụ đơn giản, giả sử bạn có mã sản phẩm dạng 'SP-12345-ABC' và muốn lấy phần số '12345':

Sub LayMaSoSanPham()
    Dim strMaSP As String
    Dim strPhanSo As String
    
    strMaSP = "SP-12345-ABC"
    
    ' Tìm vị trí dấu '-' thứ hai
    Dim pos1 As Integer
    Dim pos2 As Integer
    pos1 = InStr(strMaSP, "-")
    pos2 = InStr(pos1 + 1, strMaSP, "-")
    
    ' Lấy phần số giữa hai dấu '-'
    strPhanSo = Mid(strMaSP, pos1 + 1, pos2 - pos1 - 1)
    
    MsgBox "Mã số sản phẩm là: " & strPhanSo
End Sub

Ngoài ra, còn có các hàm xử lý chuỗi mạnh mẽ hơn như Split để tách chuỗi thành mảng dựa trên dấu phân cách, hoặc Join để ghép mảng thành chuỗi. Những hàm này cực kỳ hữu ích khi bạn cần xử lý dữ liệu dạng danh sách trong một ô.

Anh em nào có kinh nghiệm hay các hàm VBA xử lý chuỗi nào hay ho khác, chia sẻ thêm cho mọi người cùng học hỏi nhé!

5

Hay quá bạn ơi! Đúng là xử lý chuỗi bằng VBA tiện lợi hơn hẳn làm thủ công thật. Mình cũng hay dùng Left, Right, Mid lắm. Nhân tiện, có ai biết cách dùng hàm Instr để tìm vị trí ký tự hoặc chuỗi con hiệu quả không? Chia sẻ với mọi người với!

4

Bạn cần đăng nhập để trả lời chủ đề này.

Đăng nhập Đăng ký