Ngăn VBA Phân biệt chữ hoa chữ thường - Văn bản So sánh Tùy chọn

Trong khi làm việc trong VBA, bạn thường cần so sánh các chuỗi. Theo mặc định, VBA phân biệt chữ hoa chữ thường, vì vậy nếu bạn so sánh hai văn bản giống nhau và một trong số chúng ở dạng chữ hoa và chữ cái khác ở dạng chữ thường, VBA sẽ coi chúng là các văn bản khác nhau. Trong hướng dẫn này, bạn sẽ thấy cách ngăn VBA phân biệt chữ hoa chữ thường.

Làm cho VBA không phân biệt chữ hoa chữ thường

Để làm cho VBA phân biệt chữ hoa chữ thường, bạn cần đặt Tùy chọn So sánh Văn bản ở đầu mô-đun. Đầu tiên, chúng ta sẽ xem xét hành vi VBA tiêu chuẩn mà không có bộ tùy chọn này. Đây là mã:

123456789 If Sheet1.Range ("A1"). Value = Sheet1.Range ("B1"). Giá trị ThenMsgBox "Hai văn bản giống nhau"KhácMsgBox "Hai văn bản khác nhau"Kết thúc nếu

Trong ví dụ, chúng tôi muốn so sánh các chuỗi từ A1 và B1. Nếu các chuỗi bằng nhau, chúng tôi sẽ trả về hộp thông báo với thông báo “Hai văn bản giống nhau”. Nếu chúng không bằng nhau, chúng tôi sẽ trả về thông báo “Hai văn bản khác nhau.

Hình ảnh 1. So sánh các chuỗi mà không có Văn bản So sánh Tùy chọn

Như bạn có thể thấy trong hình, cả hai văn bản đều giống nhau, nhưng văn bản đầu tiên là chữ hoa, còn văn bản thứ hai viết thường. Do đó, VBA coi chúng là khác nhau và gửi lại thông báo này.

1234567891011 Tùy chọn So sánh Văn bảnPublic Sub CaseSensitiveTest ()If Sheet1.Range ("A1"). Value = Sheet1.Range ("B1"). Giá trị ThenMsgBox "Hai văn bản giống nhau"KhácMsgBox "Hai văn bản khác nhau"Kết thúc nếuKết thúc Sub

Bây giờ chúng ta sẽ thêm Option Compare Text vào đầu mô-đun và xem sự khác biệt. Đây là mã. Chúng tôi chạy mã trên cùng một ví dụ:

Hình ảnh 2. So sánh các chuỗi với Văn bản So sánh Tùy chọn

Bây giờ, khi Văn bản so sánh tùy chọn được đặt, VBA trở nên không phân biệt chữ hoa chữ thường và coi hai văn bản này giống nhau.

So sánh văn bản

Nếu bạn không khai báo Tùy chọn So sánh Văn bản, bạn có thể chuyển đổi các trường hợp chuỗi để thực hiện so sánh không phân biệt chữ hoa chữ thường. Điều này có thể thực hiện được nhờ chức năng UCase, LCase hoặc StrConv. Bạn có thể tìm hiểu thêm về điều này tại đây: VBA Upper, Lower, and Right - Chức năng của Case

Bạn sẽ giúp sự phát triển của trang web, chia sẻ trang web với bạn bè

wave wave wave wave wave