Toán Tử Like Trong VBA

Menu Tự học VBA
  • Trang chủ
  • Diễn đàn Bài viết mới Tìm chủ đề
  • Có gì mới Bài viết mới Hoạt động mới nhất
Đăng nhập Đăng ký Có gì mới? Tìm kiếm

Tìm kiếm

Everywhere Chủ đề This forum This thread Chỉ tìm trong tiêu đề Bởi: Tìm Tìm kiếm nâng cao…
  • Bài viết mới
  • Tìm chủ đề
Menu Đăng nhập Đăng ký
  • Cách upload ảnh lên diễn đàn
  • Trang chủ
  • Diễn đàn
  • Kỹ thuật xử lý Excel
  • Lập trình VBA
Toán tử Like trong VBA
  • Thread starter thanhphong
  • Ngày gửi 7/5/20
T

thanhphong

Guest
  1. Cấu trúc Not Like và Like
  2. Tìm kiếm chuỗi ký tự chứa một chuỗi ký tự khác (Like)
  3. Tìm kiếm chuỗi ký tự không chứa chuỗi ký tự khác
1. Cấu trúc Not Like và Like Các cách viết dưới đây, cách viết nào là đúng? a Not Like b ?​a Like Not b ?​a Like Is Not b ?​ Câu trả lời là Not a Like b 2. Tìm kiếm chuỗi ký tự chứa một chuỗi ký tự khác (Like) Hãy xem đoạn code ví dụ dưới đây: Mã: Sub LikeTest1() Dim s Dim ar() ReDim ar(4) ar(0) = "DaiHoc" ar(1) = "TruongHoc" ar(2) = "tuhocvba" ar(3) = "TieuHoc" ar(4) = "CongVien" For Each s In ar If s Like "*hoc*" Then Debug.Print s & " chua cum tu-hoc" Else Debug.Print s & " khong chua cum tu-hoc" End If Next End Sub Kết quả thực thi là:
DaiHoc khong chua cum tu-hoc TruongHoc khong chua cum tu-hoc tuhocvba chua cum tu-hoc TieuHoc khong chua cum tu-hoc CongVien khong chua cum tu-hoc Nhấn để mở rộng...
Nhìn vào kết quả trên có một chút vấn đề về chữ in hoa và chữ thường đã được chương trình tự động phân biệt. Bạn cần đăng nhập để thấy link , có một cách rất đơn giản, trên đầu Module bạn hãy viết dòng code sau: Mã: Option Compare Text Lúc này kết quả thực thi sẽ là:
DaiHoc chua cum tu-hoc TruongHoc chua cum tu-hoc tuhocvba chua cum tu-hoc TieuHoc chua cum tu-hoc CongVien khong chua cum tu-hoc Nhấn để mở rộng...
3. Tìm kiếm chuỗi ký tự không chứa chuỗi ký tự khác Ta chỉ cần phủ định lại câu lệnh Like. Hãy xem ví dụ dưới đây: Mã: Option Compare Text Sub LikeTest1() Dim s Dim ar() ReDim ar(4) ar(0) = "DaiHoc" ar(1) = "TruongHoc" ar(2) = "tuhocvba" ar(3) = "TieuHoc" ar(4) = "CongVien" For Each s In ar If Not s Like "*hoc*" Then Debug.Print s & " khong chua cum tu-hoc" Else Debug.Print s & " chua cum tu-hoc" End If Next End Sub Kết quả:
DaiHoc chua cum tu-hoc TruongHoc chua cum tu-hoc tuhocvba chua cum tu-hoc TieuHoc chua cum tu-hoc CongVien khong chua cum tu-hoc Nhấn để mở rộng...
Nguồn tham khảo: Bạn cần đăng nhập để thấy link N

NhanSu

SMod
Thành viên BQT Để thử nghiệm nhanh toán tử LIKE, ta có thể xây dựng hàm tự tạo để test như sau Mã: Option Explicit Option Compare Binary Function IsLike(s1 As String, s2 As String, Optional CompText As Boolean = False) As Boolean If CompText Then s1 = UCase(s1) s2 = UCase(s2) End If IsLike = s1 Like s2 End Function Điền các chuỗi cần test vào cột A, B. Tại cột C nhập công thức C1=islike(A1,B1) hoặc =islike(A1,B1,TRUE) để kiểm tra. Một số ký tự đại diện (wildcard) và mẫu (pattern) dùng với LIKE như sau:
PatternÝ nghĩaVí dụ
*một nhóm ký tự hoặc không có ký tự nào"a" LIKE "a*" = TRUE
?một ký tự"ab" LIKE "??"= TRUE, "ab" LIKE "?" = FALSE
#một chữ số từ 0 đến 9"123" LIKE "###" = TRUE
[charlist]một ký tự nằm trong danh sách"ab" LIKE "[abc][bc]" = TRUE
[!charlist]một ký tự không nằm trong danh sách"ab" LIKE "[abc][!bc]" = FALSE
Character range (vùng ký tự từ ký tự thứ nhất đến ký tự thứ 2, ví dụ [A-X] là ký tự nằm trong khoảng A đến X)một ký tự nằm trong hoặc không nằm trong vùng. Các vùng có thể nối tiếp nhau dạng [a-cm-n]"ab" LIKE "[a-z][a-b]"=TRUE "A" LIKE "[!A-Z]" =FALSE "m" LIKE "[a-cm-n]"=TRUE "d" LIKE "[a-cm-n]"=FALSE "x" LIKE "[!a-cm-n]"=TRUE
Bạn phải đăng nhập hoặc đăng ký để bình luận. Chia sẻ: Facebook Twitter WhatsApp Email Link
  • Trang chủ
  • Diễn đàn
  • Kỹ thuật xử lý Excel
  • Lập trình VBA
Top

Từ khóa » Toán Tử Trong Vba Excel