Bài viết dưới đây sẽ hướng dẫn chi tiết cách sử dụng các hàm để chuẩn hóa chuỗi khi nhấn phím Enter trong Excel. Hàm này sẽ xóa bỏ kí tự cách ở đầu và cuối dòng, xóa bớt kí 2 kí tự trắng liên tiếp giữa các từ. Đặc biệt viết hoa chữ cái đầu tiên ở mỗi từ điều này rất phù hợp khi nhập trường họ tên.
Link tải file mẫu chương trình: Tại đây
Bước1: Mở phần mềm Microsoft Excel.
Bước 2: Nhấn tổ hợp phím Alt + F11 -> Hộp thoại Microsoft Visual Basic for Application xuất hiện. Kích chọn Insert -> Module.
Bước 3: Hộp thoại xuất hiện nhập toàn bộ đoạn mã sau:
Function Chuanhoachuoi(str As String) As String Dim sChuoi As String Dim mlen As Long Dim i As Long If Len(str) = 0 Then Exit Function str = Trim(str) mlen = Len(str) 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 If Mid(str, i, 1) = " " Then sChuoi = sChuoi & " " & UCase(Mid(str, i + 1, 1)) i = i + 1 Else 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
Bước 4: Sau khi nhập xong chọn Save. Do file chứa hàm macro nên khi lưu Excel thông báo có lưu Macro không bạn chọn Yes. Sau đó nhấn Save để lưu lại.
Bước 5: Lựa chọn Sheet sử dụng hàm chuẩn hóa. Kích đúp Sheet 1 như hình vẽ.
Bước 6: Lựa chọn sự kiện Change cho Sheet này. Trong mục General chọn WorkSheet, mục Declarations chọn Change.
Bước 7: Nhập câu lệnh cho sự kiện Change.
Private Sub Worksheet_Change(ByVal Target As Range) Dim str1 As String If Not (Aplication.Intersect(Targer, Range("$D:$D")) Is Nothing) Then str1 = Chuanhoachuoi(Target.Value) Target = str1 End If End Sub
Chú ý: Chú ý câu lệnh Range ("$B: $B"): cột B sử dụng hàm chuẩn hóa chuỗi. Nếu bạn muốn áp dụng với địa chỉ khác có thể thay đổi như sau:
- Áp dụng từ cột B tới cột C: Range ("B: $C").
- Áp dụng từ ô F9 đến F15 và từ H7 tới H19: Range ("F9: $F15, $H7:$H19").
- Áp dụng 2 cột không liên tiếp: Range ("$B: $B; $F: $F").
Bước 8: Quay trở về file Excel. Áp dụng cho Sheet1 và cột B sử dụng hàm chuẩn hóa.
- Tại cột B nhập họ tên không viết hoa chữ cái đầu và giữa 2 từ còn nhiều dấu cách.
- Khi bạn nhấn Enter tự động viết hoa và xóa dấu cách còn thừa.
Chúc các bạn thành công!
Cảm ơn rất nhiều.
ReplyDelete