Khi làm việc với dữ liệu trong Excel, đôi khi bạn cần thêm tiền tố (prefix) hoặc hậu tố (suffix) cho hàng loạt giá trị — ví dụ như thêm mã “HD-” trước số hóa đơn, hoặc thêm “-VN” sau mã sản phẩm.
Nếu thực hiện thủ công, công việc này sẽ mất rất nhiều thời gian, đặc biệt khi có hàng trăm hoặc hàng nghìn ô dữ liệu.
Bằng cách sử dụng VBA (Visual Basic for Applications), bạn có thể tự động hóa thao tác này chỉ với một cú nhấp chuột.
Option Explicit
'============================
' Thêm tiền tố (Prefix)
'============================
Sub AddPrefix()
Dim c As Range
Dim prefixValue As Variant
'Hiện hộp thoại yêu cầu người dùng nhập tiền tố
prefixValue = Application.InputBox(Prompt:="Enter prefix:", _
Title:="Prefix", Type:=2)
'Nếu người dùng bấm Cancel → thoát
If prefixValue = False Then Exit Sub
'Duyệt qua từng ô trong vùng được chọn
For Each c In Selection
'Chỉ thêm tiền tố nếu ô không phải công thức và không trống
If Not c.HasFormula And c.Value <> "" Then
c.Value = prefixValue & c.Value
End If
Next
End Sub
'============================
' Thêm hậu tố (Suffix)
'============================
Sub AddSuffix()
Dim c As Range
Dim suffixValue As Variant
'Hiện hộp thoại yêu cầu nhập hậu tố
suffixValue = Application.InputBox(Prompt:="Enter Suffix:", _
Title:="Suffix", Type:=2)
'Nếu người dùng bấm Cancel → thoát
If suffixValue = False Then Exit Sub
'Duyệt qua từng ô được chọn
For Each c In Selection
'Chỉ thêm hậu tố nếu ô không phải công thức và không trống
If Not c.HasFormula And c.Value <> "" Then
c.Value = c.Value & suffixValue
End If
Next
End Sub- Mở Excel → nhấn Alt + F11 để mở cửa sổ VBA Editor.
- Chèn Module mới (Insert → Module).
- Dán đoạn code ở trên vào.
- Trở lại Excel, chọn vùng dữ liệu cần thêm tiền tố hoặc hậu tố.
- Nhấn Alt + F8, chọn AddPrefix hoặc AddSuffix rồi chạy.
- Nhập tiền tố/hậu tố bạn muốn thêm, nhấn OK.
- Thêm tiền tố (prefix) vào đầu giá trị trong các ô đã chọn.
- Thêm hậu tố (suffix) vào cuối giá trị trong các ô đã chọn.
- Bỏ qua các ô trống hoặc có công thức, tránh làm hỏng dữ liệu.
- Giúp chuẩn hóa, đồng bộ mã hàng hóa, mã nhân viên, hóa đơn, số chứng từ,… một cách nhanh chóng.
Đây là một macro VBA nhỏ gọn nhưng cực kỳ hữu ích cho những ai thường xuyên thao tác dữ liệu trong Excel. Chỉ với vài dòng mã, bạn có thể tự động thêm tiền tố hoặc hậu tố cho hàng loạt ô trong vài giây.