Trả lời nhanh
Hàm tự tạo Chuanhoachuoi bằng VBA giúp chuẩn hóa chuỗi trong Excel: xóa khoảng trắng đầu và cuối, xóa các khoảng trắng liên tiếp giữa các từ và viết hoa chữ cái đầu mỗi từ. Cách làm: nhấn ALT + F11, vào Insert > Module, dán đoạn mã rồi lưu. Sau đó dùng cú pháp =Chuanhoachuoi(A2). Nếu gặp lỗi #NAME? thì bật Enable all macros trong Trust Center (Office 2007).
Ý chính
- Hàm xóa khoảng trắng thừa đầu, cuối, giữa các từ và viết hoa chữ cái đầu mỗi từ
- Nhấn ALT + F11 mở Visual Basic Editor, chọn Insert > Module rồi dán mã
- Cú pháp: =Chuanhoachuoi(A2) hoặc =Chuanhoachuoi("chuỗi cần chuẩn hóa")
- Lỗi #NAME? xử lý bằng Trust Center Settings > Macro Settings > Enable all macros
- Khi lưu file chứa macro cần chọn định dạng cho phép lưu macro
Theo quy định tại thời điểm đăng bài (11/01/2014); chính sách có thể đã thay đổi.
1. Khởi động Microsoft Excel 2. Nhấn ALT + F11 để bắt đầu Visual Basic Editor Vào menu Inser\Module 3. Nhập toàn bộ đoạn mã sau vào Function Chuanhoachuoi(str As String) As String
Dim sChuoi As String
Dim mlen As Long
Dim i As Long
'Neu chuoi =0 thi khong xu ly
If Len(str) = 0 Then Exit Function
'Xoa bo cac ky tu trang o dau va cuoi
str = Trim(str)
'Dem so ky tu chuoi
mlen = Len(str)
'Loai bo hai ki tu trong lien tiep
For i = 1 To mlen
If Mid(str, i, 1) = " " And Mid(str, i + 1, 1) = " " Then
str = Replace(str, " ", " ")
i = i - 1
End If
Next
For i = 1 To mlen
' Chuyen cac ky tu dau tien mot tu sang chu hoa
If Mid(str, i, 1) = " " Then
sChuoi = sChuoi & " " & UCase(Mid(str, i + 1, 1))
i = i + 1
Else
'Chuyen chu cai dau tien cua cau sang chu hoa
If i = 1 Then
sChuoi = UCase(Mid(str, 1, 1))
Else
sChuoi = sChuoi & LCase(Mid(str, i, 1))
End If
End If
Next
Chuanhoachuoi = sChuoi
End Function
Kích nút Save để lưu lại, bạn có thể xem thêm bài viết cách lưu file Excel khi chứa Macro hoặc hàm .
4. Quay trở lại màn hình Excel và sử dụng hàm vừa tạo
Có 2 cách để sử dụng hàm vừa tạo
- Cách 1:
+ Cú pháp: =Chuanhoachuoi(Chuỗi cần chuẩn hóa)
+ Ví dụ: =Chuanhoachuoi (“cong hoa xa hoi chu nghia viet nam”)
- Cách 2:
+Cú pháp: = Chuanhoachuoi (Địa chỉ ô cần chuyển)
+ Ví dụ: = Chuanhoachuoi (A2)
Nếu bạn nào sau khi đã tạo hàm xong nhưng khi sử dụng thì gặp phải trường hợp giá trị trả về #NAME? thì phải thực hiện theo các bước dưới đây nếu sử dụng Office 2007.
- Kích nút Office Button\Excel Options
- Chọn Trust Center\Trust Center Settings
- Chọn Macro Settings\Enable all macros (not recommended; potentially dangerous code can run)
- Chọn OK
Hi vọng hàm chuẩn hóa chuỗi sẽ giúp ích các bạn nhiều trong công việc.
Bạn đọc có thể tham khảo thêm các bài viết có liên quan:
>>> Hướng dẫn hàm LEN và TRIM trong excel – Kế toán Đức Minh
Khoá học liên quan
Kế toán thực tế
Kèm 1-1 trên chứng từ thật · khai giảng liên tục



