VBA Excel (Bài 22): 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

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.