So sánh hai chuỗi bằng VBA

Liên hệ QC

Duy Phúc 94

Thành viên mới
Tham gia
12/2/20
Bài viết
10
Được thích
0
Em có 2 chuỗi abcde và a?c?e, có method nào có sẵn trong VBA trả về TRUE với ? là ký tự bất kỳ không ạ, hay mình phải tự code.
Thực tế em đang muốn dò công thức trong 1 cột của bảng tính với 1 công thức gốc, ký tự ? ở đây là các row trong công thức, có cách nào dò tốt hơn không ạ?
Ví dụ: chuỗi A1+B1+C1 = A?+B?+C? được TRUE, chuỗi A22+B22+C22 = A?+B?+C? cũng TRUE.
Em xin cảm ơn!
 
Me thớt: Like
Lưu ý:
Option Compare Text
Option Compare Binary

---
Wildcard: ? ~ 1 ký tự thôi. Không có chuyện A22 ~ A? (mà phải là A??).
Nếu ký tự số người ta dùng #, chứ không chơi ?
 
Upvote 0
Kinh nghiệm là cứ nêu thẳng vấn đề cần giải quyết ra. Đừng có kiểu muốn chặt cây mà đi hỏi cách mài rìu sao cho bén, giờ có cưa máy rồi.
Giải pháp: So sánh FormulaR1C1
 
Upvote 0
Kinh nghiệm là cứ nêu thẳng vấn đề cần giải quyết ra. Đừng có kiểu muốn chặt cây mà đi hỏi cách mài rìu sao cho bén, giờ có cưa máy rồi.
Giải pháp: So sánh FormulaR1C1
Em có nghĩ tới R1C1 nhưng lại phải hướng dẫn người dùng file lấy công thức R1C1 ra. Nên hỏi nếu có cách so sánh chuỗi công thức bthg tốt thì ưu tiên cách đó.
 
Upvote 0
Me thớt: Like
Lưu ý:
Option Compare Text
Option Compare Binary

---
Wildcard: ? ~ 1 ký tự thôi. Không có chuyện A22 ~ A? (mà phải là A??).
Nếu ký tự số người ta dùng #, chứ không chơi ?
Em cảm ơn a nhiều ạ, e đã làm được rồi!
Bài đã được tự động gộp:

Kinh nghiệm là cứ nêu thẳng vấn đề cần giải quyết ra. Đừng có kiểu muốn chặt cây mà đi hỏi cách mài rìu sao cho bén, giờ có cưa máy rồi.
Giải pháp: So sánh FormulaR1C1
Kinh nghiệm là cứ nêu thẳng vấn đề cần giải quyết ra. Đừng có kiểu muốn chặt cây mà đi hỏi cách mài rìu sao cho bén, giờ có cưa máy rồi.
Giải pháp: So sánh FormulaR1C1
À, em sẽ làm sự kiện Worksheet change để lấy ra công thức R1C1 luôn. Em cảm ơn a nhiều!
 
Upvote 0
Bạn nên sử dụng biểu thức chính quy
=testExp("A\d+\+B\d+\+C\d+","A1+B1+C1")
=testExp("A\d+\+B\d+\+C\d+","A22+B22+C22")
JavaScript:
Function testExp(pattern$, value$)
  With VBA.CreateObject("VBScript.RegExp")
    .IgnoreCase = True
    .pattern = pattern
    testExp = .test(value)
  End With
End Function
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom