Chuẩn hóa chuỗi khi nhấn phím Enter trong Excel

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.

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.

Module

Bước 3: Hộp thoại xuất hiện nhập toàn bộ đoạn mã sau:

Mã

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.

Save

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ẽ.

Lựa chọn Sheet sử dụng hàm chuẩn hóa

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.

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.

Sử dụng hàm chuẩn hóa

- Khi bạn nhấn Enter tự động viết hoa và xóa dấu cách còn thừa.

Kết quả

Chúc các bạn thành công!

Bình luận (1)

  1. avatar
    thanh phongon November 09, 2017

    Còn của tôi khi làm thì báo lỗi run time error 424 màu vàng ngây hàng nay : If Not (Aplication.Intersect(Targer, Range("$B:$B:")) Is Nothing) Then Anh gì ơi giup dùm với cám ơn!!

Viết bình luận