VBA Tìm chức năng | Làm thế nào để sử dụng VBA Find Function? (Ví dụ)

Tìm VBA trong Excel

Khi chúng tôi sử dụng Tìm trong một trang tính bình thường, chúng tôi nhấn phím tắt CTRL + F và nhập dữ liệu chúng tôi cần tìm và nếu không có giá trị mong muốn, chúng tôi chuyển sang kết quả phù hợp tiếp theo, nếu có nhiều kết quả phù hợp như vậy thì đó là một công việc tẻ nhạt nhưng khi chúng tôi sử dụng FIND trong VBA nó thực hiện các nhiệm vụ cho chúng tôi và cung cấp cho chúng tôi kết quả phù hợp chính xác và cần ba đối số, một là tìm cái gì, tìm ở đâu và xem ở đâu.

Trước khi chuyển sang VBA và bắt đầu sử dụng hàm find trong macro, trước tiên chúng ta cần tìm hiểu hàm find trong excel là gì. Trong excel thông thường trong tab Trang đầu dưới nhóm chỉnh sửa, chúng ta có thể tìm thấy một hàm tìm được sử dụng để tìm một chuỗi hoặc một giá trị trong một phạm vi ô hoặc toàn bộ trang tính.

Khi chúng tôi nhấp vào đây, chúng tôi nhận được hai tùy chọn;

Một đơn giản để tìm,

Chúng ta có thể thấy nó cũng có một chế độ tùy chọn mở ra một tính năng khác.

Nó thực hiện thuật toán tìm kiếm với bốn ràng buộc, Tìm gì, Trong vòng, Tìm kiếm và tìm kiếm.

Tùy chọn thứ hai trong excel là Tìm và thay thế được sử dụng khi chúng tôi tìm thấy một chuỗi nhưng thay thế nó bằng bất kỳ giá trị nào khác,

Tìm cú pháp hàm

Ở trên chúng ta đã tìm hiểu Find trong excel cơ bản là gì. Trong VBA chúng ta viết mã theo cách thủ công nhưng các tính năng vẫn giống như excel thông thường. Đầu tiên, chúng ta hãy xem xét cú pháp.

Expression.Find (Cái gì, tìm kiếm,….)

Nếu giá trị chúng ta đang tìm được tìm thấy với hàm excel, nó sẽ trả về ô chứa giá trị và nếu giá trị không được tìm thấy thì đối tượng của hàm được đặt thành không.

Biểu thức trong macro là các phạm vi được xác định chẳng hạn như phạm vi 1 hoặc phạm vi 2. Từ khóa cho những gì chúng ta muốn tìm kiếm một giá trị cụ thể là gì? Lookin là một từ khóa cho những gì chúng tôi đang cố gắng tìm kiếm, nó là một nhận xét hoặc một công thức hoặc một chuỗi. Tương tự, có những ràng buộc khác trong hàm Find là tùy chọn. Trường bắt buộc duy nhất được yêu cầu là giá trị mà chúng tôi đang cố gắng tìm kiếm.

Về cơ bản, VBA tìm thấy Excel có một đối số bắt buộc là Giá trị mà chúng ta muốn tìm kiếm. Phần còn lại của các ràng buộc là tùy chọn và có nhiều ràng buộc trong hàm tìm. Hàm Find tương tự như hàm find trong excel.

Tham số cho hàm tìm là phạm vi ô. Như chúng ta muốn tìm một giá trị trong phạm vi nào. Nó có thể là một vài cột hoặc một vài ô hoặc toàn bộ trang tính.

Các ví dụ

Bạn có thể tải xuống Mẫu Excel Hàm VBA TÌM tại đây - Mẫu Excel Hàm VBA TÌM

Ví dụ 1

Giả sử dữ liệu của chúng tôi có các giá trị sau

Chúng tôi sẽ cố gắng tìm “Aran” trong cùng một dữ liệu.

  • Để viết mã VBA, cần phải bật tab nhà phát triển trong excel để có thể viết Mã VBA.

  • Chúng tôi bắt đầu viết mã của mình bằng cách viết đoạn mã sau như hình dưới đây,
Mẫu phụ ()

Dim FindS As String

Dim Rng As Range

FindS = InputBox (“Nhập giá trị bạn muốn tìm kiếm”)

Với Trang tính (“Trang 1”) .Range (“A: A”)

  • Mẫu là tên chức năng được đặt cho phụ.
  • Tìm là chuỗi mà chúng tôi muốn người dùng chúng tôi muốn nhập để tìm kiếm.
  • Rng là biến chúng tôi lấy cho phạm vi.
  • Bây giờ chúng tôi yêu cầu người dùng nhập giá trị giống như ảnh chụp màn hình bên dưới,

  • Bây giờ chúng ta sẽ xác định chức năng tìm kiếm của chúng ta trong mô-đun.

  • Hàm tìm giá trị được nhập bởi người dùng trong phạm vi đã cho.
  • Bây giờ chúng ta đóng hàm bằng các đối số sau.

  • Bây giờ nếu chúng ta chạy mã của mình trước, nó sẽ yêu cầu người dùng nhắc một giá trị.

  • Khi mã được hoàn thành, nó sẽ trả về ô về nơi dữ liệu được tìm thấy.

Ví dụ số 2

Trong ví dụ trên, có bốn tên duy nhất nhưng điều gì sẽ xảy ra nếu có nhiều hơn một tên trong dữ liệu, chẳng hạn như xem xét dữ liệu dưới đây,

Chúng ta có thể thấy rằng cái tên Aran được lặp lại hai lần trong dữ liệu trên. Nếu excel phải tìm tên Aran, nó sẽ tìm nó trong ô A2 và dừng lại, nhưng có một giá trị khác tương tự như của A2 trong ô A6. Làm thế nào để tìm nạp giá trị đó? Đây là cú pháp của Find (What, After) trong trợ giúp.

Sau khi xác định ô mà sau đó tham chiếu mà chúng tôi muốn tìm kiếm dữ liệu.

Hãy để chúng tôi viết mã cho dữ liệu trên.

  • Luôn nhớ bật tab nhà phát triển từ các tùy chọn và sau đó từ tùy chỉnh ribbon trong excel để có thể viết mã trong VBA.
  • Trong VBA, chúng tôi nhận được các đối tượng Microsoft excel là một mô-đun nơi chúng tôi viết mã.

  • Trước đây chúng ta đang làm việc trên sheet 1 bây giờ chúng ta đang làm việc ở sheet 2 vì vậy hãy chọn sheet 2 cho một mô-đun khác và một trang trống sẽ xuất hiện.

  • Bây giờ hãy bắt đầu viết mã bằng cách xác định hàm trước là SUB Sample2 () và nhấn enter.

  • Bây giờ chúng ta đã xác định hàm của mình, chúng ta sẽ bắt đầu đi vào phần chính là xác định các biến của chúng ta.

  • Xác định những gì biến Tìm phải có,

  • Chọn trang tính mà chúng tôi đang làm việc, đó là trang tính 2 trong ví dụ này,

  • Bây giờ chúng ta sẽ tìm thấy văn bản mà người dùng nhập vào sau ô A2, vì vậy chúng ta xác định hàm find của chúng ta như bên dưới,

  • Bây giờ chúng ta đóng mã bằng cách kết thúc điều kiện bằng và nếu.

Những gì đoạn mã trên thực hiện là tìm kiếm chuỗi sau ô A2 và trả về ô bất cứ nơi nào nó được tìm thấy.

Những điều cần ghi nhớ

  1. Điều đầu tiên, chúng ta cần bật tab nhà phát triển để sử dụng VBA.
  2. Giá trị cụ thể mà chúng ta cần tìm là gì?
  3. Nếu giá trị không được tìm thấy, đối tượng của hàm được đặt thành không.

$config[zx-auto] not found$config[zx-overlay] not found