Hướng dẫn sử dụng phương thức FIND trong VBA

Phương thức FIND là phương thức rất hữu ích giúp chúng ta có thể tìm kiếm một nội dung cụ thể nào đó. Khi sử dụng các hàm tìm kiếm, chúng ta từng rất thích sử dụng vlook, index, match… phải không nào, vậy thì trong VBA chúng ta sẽ biết tới phương thức FIND cũng hiệu quả tương tự như vậy.

Phương thức FIND cũng giúp ích nhiều trong việc tăng hiệu quả khi sử dụng vòng lặp, bởi chúng ta có thể kiểm tra trước vòng lặp đó có chứa đối tượng có liên quan hay không, để vòng lặp chỉ chạy khi chắc chắn có chứa nội dung liên quan.

Sau đây chúng ta cùng tìm hiểu cách sử dụng phương thức FIND trong VBA

Cú pháp

Range(…).Find(What, After, LookIn, LookAt, SearchOrder, SearchDirection, MatchCase, MatchByte, SearchFormat)

Trong đó đối tượng What là đối tượng duy nhất bắt buộc phải có, còn các đối tượng khác không bắt buộc.

What có thể là bất kỳ ký tự, dữ liệu nào trong Excel.

Nếu chỉ tìm kiếm một chuỗi ký tự nhất định, chúng ta có thể rút gọn cú pháp như sau:

Range(…).FIND(“Ký tự cần tìm”)

Ứng dụng

Chúng ta xét một vài ví dụ sau để thấy tính ứng dụng của phương thức FIND trong VBA:

Ví dụ 1: Tìm kiếm trong mảng tĩnh

Kiểm tra thử kết quả ví dụ như sau:

Ví dụ 2: Sử dụng Find tạo mảng động

Trong vùng A1:G20 có 7 cột nhưng chúng ta có thể sử dụng FIND để tìm các vị trí có chứa dữ liệu “Start” để tạo ra 1 mảng động tương ứng với các vị trí mà chúng ta tìm được.

Ví dụ 3: Tìm dòng cuối có chứa dữ liệu trong VBA với phương thức FIND

VBA giúp ích rất nhiều trong công việc: giúp bạn tăng tốc trong quá trình xử lý trên Excel, giúp lập các báo cáo tự động, điều khiển các chương trình khác như Word, Power Point, Outlook … giúp biến file Excel của bạn trở thành 1 phần mềm chuyên nghiệp …

Để có thể học VBA một cách đầy đủ, có hệ thống, bạn hãy tham gia khoá học VBA101 – VBA cơ bản dành cho người mới bắt đầu của hệ thống Học Excel Online. Hiện nay hệ thống đang có nhiều ưu đãi khi bạn đăng ký khóa học này. Chi tiết xem tại: