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 phải 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 trong nhóm chỉnh sửa, chúng ta có thể tìm thấy hàm find đượ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 điều nà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 cái 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 tôi 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 cú pháp.

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

Nếu giá trị mà 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 không tìm thấy giá trị, thì đối tượng của hàm được đặt thành không.

Biểu thức trong macro là 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 ta đang cố gắng tìm kiếm, nó là một nhận xét hay một công thức hoặc một chuỗi. Tương tự, có các ràng buộc khác trong chức năng Tìm, là tùy chọn. Trường bắt buộc duy nhất bắt buộc 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 find là phạm vi ô, chẳng hạn như chúng ta muốn tìm 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.

Ví dụ

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 ta 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,
Sub Sample ()
DimFindS As String
Dim Rng As Range
FindS = InputBox (“Nhập giá trị bạn muốn tìm kiếm”)
Với Sheets (“Sheet1”) .Range (“A: A”)
  • Mẫu là tên hàm đượ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 hàm tì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ị.
  • Sau khi hoàn thành mã, 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 bên dưới,

Chúng ta có thể thấy rằng 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 ô, sau tham chiếu đó, chúng ta 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 tôi đang làm việc trên trang tính 2, vì vậy hãy chọn trang tính 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 chức năng 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 biến Find phải có những gì,
  • 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 làm 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ể 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.

thú vị bài viết...