Hướng dẫn cách sử dụng Regular Expression trong VBA

Nội dung được viết bởi G-LEARNING

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:

Cách sử dụng Regular Expression

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

Tạo mới 1 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

Mở cửa sổ Locals trong VBA

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:

Hướng dẫn cách sử dụng Regular Expression trong VBA

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 Gitiho.com!

Đánh giá bài viết này

/5 - ( bình chọn)

/5 - ( bình chọn)

0 thảo luận

@ 2020 - Bản quyền của Công ty cổ phần công nghệ giáo dục Gitiho Việt Nam
Giấy chứng nhận Đăng ký doanh nghiệp số: 0109077145, cấp bởi Sở kế hoạch và đầu tư TP. Hà Nội
Giấy phép mạng xã hội số: 588, cấp bởi Bộ thông tin và truyền thông