Bài viết: Toán tử Like trong VBA và các ký tự đặc biệt

Liên hệ QC

kyo

Nguyễn Khắc Duy
Thành viên danh dự
Tham gia
4/6/06
Bài viết
901
Được thích
2,714
Toán tử Like trong VBA và các ký tự đặc biệt


Toán tử Like của VBA cũng đặc biệt hữu ích trong nhiều trường hợp mà bạn không ngờ đến khi mà kiến thức về Regex của bạn còn hạn chế cũng như hàm Instr lại bộc lộ nhiều yếu điểm.

Toán tử Like chính xác là một hàm trả về giá trị True hoặc False. Điều này có nghĩa là, nếu đúng, bạn sẽ nhận được giá trị True, còn không, chắc chắn là giá trị False. Chẳng hạn như

Mã:
"GPE - Cong cu tuyet voi cua ban” Like "GPE*” ‘Kết quả là True
"GPE - Cong cu tuyet voi cua ban” Like "*giaiphapexcel.com” ‘Kết quả là False

Rất dễ hiểu phải không? Đối với các ký tự đặc biệt, trong VBA, bạn có thể sử dụng như sau:
- *: đại diện cho tất cả các ký tự.
- ?: đại diện cho 1 ký tự.
- [ ]: đại diện cho 1 ký tự bất kỳ ở trong một dãy trong ngoặc vuông.
- -: đại diện cho một dãy kéo dài, ví dụ [A-Z] nghĩa là từ A đến Z.
- #: đại diện cho một con số nào.

Cùng xem một số ví dụ sau:

Mã:
If "GPE" Like "[A-Z]*" then
   Debug.Print "Trùng khớp ký tự G có trong dãy A đến Z"
End If

Mã:
If "Sinh nhat lan 10 cua GPE" Like "*##*" then
   Debug.Print "Co so 10"
End If
Nhìn chung, bạn nên dùng Like thay vì Instr để kiểm tra ký tự trong một chuỗi. Dĩ nhiên, trước khi tiến tới Regex, bạn nên cân nhắc sử dụng Like vì sự dễ hiểu và dễ sử dụng của nó.

Chúc bạn thành công.

Một số bài viết có liên quan:
1/ Xếp một trường theo một trật tự màu quy định trước
2/ Hàm để lấy chỉ số màu trong các ô đã Conditional Formatting
3/ Khai báo sử dụng các thành phần đối tượng của Excel
4/ Sử dụng Worksheet Function trong VBA
5/ Hiển thị tiếng việt cho hộp thông báo trong ACCESS & Excel
6/ Khai báo biến và đặt tên biến trong VBA
7/ Hướng dẫn truyền tham số trong VBA (ByVal & ByRef)
8/ UDF hữu ích: Xác định một vùng có tồn tại trong một vùng khác hay không
9/ UDF hữu ích: Một số hàm thông dụng cần thiết
10/ UDF hữu ích: Hàm tìm hàng cuối, cột cuối, ô cuối, ...
 
Lần chỉnh sửa cuối:
Upvote 0
cho mình hỏi , lỡ trong chuỗi cần tìm có ký tự # thì phải làm sao?
 
Web KT
Back
Top Bottom