Chức năng cơ bản của VBA không có chức năng tìm kiếm biểu thức chính quy nhưng nó được trang bị một toán tử gần giống như vậy là Like.
Toán tư Like cũng có cách sử dụng giống với các toán tử so sánh khác như [=], [<>].
So với biểu thức thống kê thông thường thì tính năng tuy có ít hơn nhưng nó có thể được thực hiện hiệu quả hơn với nhiều điều kiện được kết hợp.
Chương trình dưới đây sẽ tô đỏ các file không phải là file excel.
Ví dụ dưới đây tôi sẽ tìm các hàng dữ liệu có tháng từ 1 tới 6.
Ví dụ tiếp theo ta sẽ tìm các hàng hóa có mã A-C:
Nguồn tham khảo :
Toán tư Like cũng có cách sử dụng giống với các toán tử so sánh khác như [=], [<>].
Ký hiệu | Ý nghĩa | Ví dụ | Kết quả tìm kiếm |
---|---|---|---|
? | Một ký tự tùy ý | thvb? | thvba, thvbc, thvbd, ... |
* | Từ 0 ký tự tùy ý trở lên | thvb* | thvba, thvbab, thvbxyz, ... |
# | Số bất kỳ (0~9) | ## | 01, 26, 95, ... |
[charlist] | Một ký tự bất kỳ nằm trong chuỗi ký tự được chỉ định charlist | [A-F] | A, B, C, D, E, F ... |
[!charlist] | Một ký tự bất kỳ không nằm trong chuỗi ký tự được chỉ định charlist | [!A-F] | G, H, I, ... |
Bạn cần đăng nhập để thấy đính kèm
Chương trình dưới đây sẽ tô đỏ các file không phải là file excel.
Mã:
Sub Sample1()
Dim i As Long
For i = 1 To 6
If Cells(i, 1).Value Like "[!xls]*" Then Cells(i, 1).Font.ColorIndex = 3
Next i
End Sub
Bạn cần đăng nhập để thấy đính kèm
Ví dụ dưới đây tôi sẽ tìm các hàng dữ liệu có tháng từ 1 tới 6.
Bạn cần đăng nhập để thấy đính kèm
Mã:
Sub Sample3()
Dim i As Long
For i = 1 To 8
If Month(Cells(i, 1)) Like "[1-6]" Then Cells(i, 2) = "OK"
Next i
End Sub
Bạn cần đăng nhập để thấy đính kèm
Ví dụ tiếp theo ta sẽ tìm các hàng hóa có mã A-C:
Bạn cần đăng nhập để thấy đính kèm
Mã:
Sub Sample5()
Dim i As Long, j As Long
For i = 1 To 7
If Cells(i, 1).Value Like "[A-C]*" Then
Cells(i, 2) = "OK"
End If
Next i
End Sub
Bạn cần đăng nhập để thấy đính kèm
Nguồn tham khảo :
Bạn cần đăng nhập để thấy link