- Tham gia
- 4/6/06
- Bài viết
- 901
- Được thích
- 2,717
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ư
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:
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, ...
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
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