Nếu bạn đang tự hỏi làm thế nào bạn có thể làm cho Excel để kiểm tra chính tả dữ liệu (lỗi đánh máy), trong bài viết này, bạn sẽ học cách tự động kiểm tra chính tả trong Excel bằng VBA.

Hãy cho chúng tôi hiểu với một ví dụ:

Chúng tôi có văn bản chứa trong cột A. Tham khảo ảnh chụp nhanh dưới đây

img1

Trong ảnh chụp ở trên; trong ô A5 & A11, bạn sẽ thấy có lỗi chính tả.

Mục tiêu là làm nổi bật lỗi bằng màu đỏ.

Nhấp vào tab Nhà phát triển Từ nhóm Mã, chọn Visual Basic

img2

hoặc nhấn phím tắt ALT + F11 để khởi chạy màn hình VB Editor.

Nhập mã sau vào trang tính hiện tại.

Private Sub Worksheet_Change (ByVal Target As Range)

Dim Myrange As Range

Nếu không Giao nhau (Mục tiêu, Phạm vi (“A1”). Hiện tại) Không có gì thì

Đối với mỗi Myrange trong phạm vi (“A1”). CurrentRegion

Nếu Application.CheckSpelling (Myrange) = Sai thì

Myrange.Font.Color = vbRed

Khác: Myrange.Font.Color = vbBlack

Kết thúc Nếu

Tiếp theo

Kết thúc Nếu

End Sub

img3

Sau khi viết đoạn mã trên, các ô A5 & A11 sẽ được chuyển thành màu đỏ.

img4

Mã hoạt động trên vùng hiện tại; nếu văn bản nằm trong vùng hiện tại thì mã VBA trên sẽ giúp người dùng xác định lỗi.

Trong trường hợp người dùng muốn đánh dấu lỗi trên các ô cụ thể, chúng tôi sẽ sử dụng đoạn mã sau:

Private Sub Worksheet_Change (ByVal Target As Range)

Dim Myrange As Range

If Not Intersect (Target, Range (“A1, B3, C5”)) Không có gì thì

Đối với mỗi Myrange Trong Liên minh ([A1], [B3], [C5])

Nếu Application.CheckSpelling (Myrange) = Sai thì

Myrange.Font.Color = vbRed

Khác: Myrange.Font.Color = vbBlack

Kết thúc Nếu

Tiếp theo

Kết thúc Nếu

End Sub

img5

Ở đây, trong ảnh chụp nhanh được hiển thị ở trên, mã đã đánh dấu lỗi trong ô B3 & C5; không có trong ô C1 & C7. Điều này là do chúng tôi muốn mã kiểm tra các ô A1, B3 & C5.

Bằng cách này, bạn có thể đánh dấu các lỗi bằng cách sử dụng mã VBA.