Cách sử dụng Regular Expression trong VBA
1. Khái niệm về Regular Expression Đây là một thuật ngữ thường dùng trong lập trình, giúp tìm ra những dữ liệu được sắp xếp theo 1 quy luật nhất định trong 1 chuỗi văn bản. Ví dụ: Những con số nằm trong 1 đoạn text: Số điện thoại, số nhà Thông tin Email nằm trong 1 đoạn text Khi sử dụng ...
1. Khái niệm về Regular Expression
Đây là một thuật ngữ thường dùng trong lập trình, giúp tìm ra những dữ liệu được sắp xếp theo 1 quy luật nhất định trong 1 chuỗi văn bản.
Ví dụ:
Những con số nằm trong 1 đoạn text: Số điện thoại, số nhà
Thông tin Email nằm trong 1 đoạn text
Khi sử dụng Regular Expression sẽ giúp chúng ta dễ dàng tách được những dữ liệu có tính quy luật ra khỏi 1 đoạn text => Được ứng dụng nhiều trong việc xử lý dữ liệu, trích lọc dữ liệu, đặc biệt trong những bảng dữ liệu lớn, phức tạp mà hầu hết đều phải làm bằng tay nếu không sử dụng VBA trong excel.
2. Cách sử dụng Regular Expression
Chúng ta cùng tìm hiểu về cách sử dụng chức năng này thông qua ví dụ sau:
Cho đoạn text tại ô A6 như sau:
Trích lọc những nội dung thỏa mãn điều kiện:
1 ký tự bất kỳA, B, C, D… kết hợp với đoạn text “-hoc excel online”
Ví dụ:
A-hoc excel online
B-hoc excel online
Bước 1: Mở cửa sổ Visual Basic Application (VBA)
Có 2 cách để mở cửa sổ VBA:
- Cách 1: Bấm tổ hợp phím tắt Alt + F11
- Cách 2: Trong tab Developer, bấm chọn Visual Basic
Bước 2: Tạo mới 1 Module
Bấm chuột phải vào mục Project – VBAProject rồi chọn Insert / Module
Bước 3: Mở cửa sổ Locals trong VBA để giúp việc hiểu về cách sử dụng Regular Expression dễ hơn
Trong tab View > Chọn mục Locals Window
Bước 4: Tạo 1 sub Test và thực hiện như sau
* Lưu ý:
Nếu chuỗi strPattern có sử dụng tiếng việt có dấu thì chúng ta có thể đặt chuỗi đó vào 1 vị trí xác định trong file excel rồi tham chiếu tới vị trí đó (vì trong VBA không viết trực tiếp được tiếng việt có dấu nên có thể sử dụng gián tiếp)
strPattern = “[ABCD]-” & sheet1.Cells(7,1).value
* Kiểm tra kết quả:
Đặt Break Point tại End Sub rồi thực hiện Run Macro này. Kết quả thu được tại mục Local như sau:
Như vậy 3 kết quả của matches đã đúng như chúng ta mong muốn.
Với việc sử dụng chức năng Regular Expression chúng ta có thể thực hiện việc trích lọc dữ liệu theo quy luật trong 1 chuỗi lớn dễ dàng hơn nhiều rồi phải không nào.
* Video hướng dẫn:
Ngoài ra bạn có thể xem thêm video hướng dẫn để hiểu rõ hơn cách làm nhé:
Chúc các bạn học tốt cùng Học Excel Online!