Mục lục
Khi làm việc với Microsoft Excel , đôi khi chúng ta cần tìm giá trị khớp trong một dải. Chúng ta có thể dễ dàng làm điều này với các hàm excel. Có những hàm trong VBA mà chúng ta có thể sử dụng, nhưng không có hàm nào bằng MATCH . Trong bài viết này, chúng ta sẽ tìm hiểu cách so khớp một giá trị trong một phạm vi với Excel VBA .
Tải xuống Sách bài tập thực hành
Bạn có thể tải xuống sổ làm việc và thực hành với chúng.
Giá trị đối sánh VBA trong Range.xlsm
Giới thiệu về Hàm đối sánh VBA trong Excel
Hàm Match trong Excel VBA là một hàm tra cứu được xây dựng hữu ích, như các hàm VLOOKUP , HLOOKUP và INDEX , trả về vị trí khớp giống hệt hoặc so sánh được của các giá trị tra cứu thu được trong mảng hoặc cơ sở dữ liệu. Hàm này là một hàm trang tính mà chương trình sử dụng. Bởi vì nó là một hàm trang tính nên các tham số cho hàm Match tương tự như các tham số của hàm trang tính.
3 Ví dụ về Excel VBA để khớp giá trị trong phạm vi
1. Khớp giá trị trong phạm vi với Hàm khớp VBA trong Excel
Để sử dụng Hàm khớp VBA của Excel , để tìm giá trị khớp trong một dải, chúng ta sẽ sử dụng tập dữ liệu sau . Tập dữ liệu có tên của một số sinh viên trong cột C , điểm của họ về một môn học cụ thể trong cột D và số thứ tự của từng sinh viên trong cột B . Bây giờ, giả sử chúng tamuốn tìm vị trí khớp trong ô G5 của một nhãn hiệu cụ thể và nhãn hiệu mà chúng tôi muốn khớp nằm trong ô F5 .
Hãy trình bày quy trình để tìm các giá trị khớp trong một dải bằng cách sử dụng hàm VBA Match trong excel .
BƯỚC:
- Đầu tiên, chuyển đến tab Nhà phát triển từ ruy-băng.
- Thứ hai, nhấp vào Visual Basic để mở Trình chỉnh sửa Visual Basic , trong đó chúng tôi viết mã. Hoặc nhấn Alt + 11 để mở Trình soạn thảo Visual Basic .
- Một cách khác để mở Visual Basic Editor chỉ cần nhấp chuột phải vào trang tính và nhấp vào Xem mã .
- Thao tác này sẽ mở Trình chỉnh sửa Visual Basic . Bây giờ, hãy viết mã vào đó.
Mã VBA:
9246
- Sau đó, để chạy mã, hãy nhấn F5 trên bàn phím của bạn hoặc nhấp vào nút Xoa phụ .
- Cuối cùng, bạn có thể thấy rằng trận đấu là được tìm thấy ở vị trí 5 .
🔎 Mã VBA hoạt động như thế nào?
-
Sub example1_match()
: Điều này có nghĩa là chúng tôi xác định một thủ tục con bằng cách đặt tên macro. -
Range("G5").Value
: Chúng tôi muốn đầu ra sẽ được lưu trữ trong ô G5 . -
WorksheetFunction
: Bằng cách sử dụng mã này, chúng tôi sẽ có thể truy cập các chức năng VBA.
-
Match(Range("F5").Value, Range("D5:D10"), 0)
: Ở đây, chúng tôi sử dụng hàm Match trong VBA. Vì chúng tôi muốn lấy giá trị từô F5 và tìm ra vị trí trong phạm vi D5:D10 . -
End Sub
: Điều này có nghĩa là chúng ta kết thúc quy trình.
Đọc thêm: Excel VBA để so khớp chuỗi trong cột (5 ví dụ)
2. Sử dụng Excel VBA để khớp giá trị từ một trang tính khác
Chúng ta có thể tìm các giá trị khớp trong phạm vi từ một trang tính khác bằng cách sử dụng hàm So khớp VBA trong Excel . Giả sử rằng, chúng ta có tập dữ liệu trong trang tính có tên “ Dữ liệu ” và chúng tôi muốn kết quả ở tên trang tính “ Kết quả ”. Và chúng tôi đang sử dụng cùng một bộ dữ liệu. Bây giờ, hãy làm theo các bước để thực hiện việc này.
BƯỚC:
- Trong bắt đầu, giống như ví dụ trước, chuyển đến tab Nhà phát triển trên ruy-băng.
- Sau đó, nhấp vào Visual Basic hoặc nhấn Alt + F11 để mở Trình soạn thảo Visual Basic .
- Thay vì điều này, để mở Trình soạn thảo Visual Basic , chỉ cần nhấp chuột phải vào trang tính và chọn Xem mã .
- Bây giờ, hãy viết mã VBA.
Mã VBA:
1517
- Tiếp theo, chạy mã bằng cách nhấn phím F5 hoặc nhấp vào nút Chạy phụ .
- Và, kết quả được tìm thấy trong trang tính “ Kết quả ”.
Đọc thêm: Cách khớp dữ liệu trong Excel từ 2 trang tính
Các bài đọc tương tự
- Tính tổng tất cả các kết quả phù hợp với VLOOKUP trong Excel (3 Dễ dàngCác cách)
- Cách tìm đối sánh phân biệt chữ hoa chữ thường trong Excel ( 6 công thức)
- Cách đối sánh tên trong Excel khi chính tả khác nhau (8 phương pháp )
3. Các vòng lặp VBA trong Excel để nhận giá trị khớp trong phạm vi
Giả sử, chúng tôi muốn nhiều dấu khớp với giá trị, chúng tôi sẽ sử dụng các vòng lặp VBA cho việc này. Chúng tôi đang sử dụng cùng một bộ dữ liệu như trước đây. Bây giờ, chúng tôi muốn vị trí khớp trong cột G và các dấu mà chúng tôi muốn tìm khớp nằm trong cột F . Hãy xem các bước đi xuống.
CÁC BƯỚC:
- Đầu tiên, từ dải băng, chuyển đến Tab Nhà phát triển.
- Thứ hai, để mở Trình chỉnh sửa Visual Basic , hãy nhấp vào Visual Basic hoặc nhấn Alt + F11 .
- Hoặc, chỉ cần nhấp chuột phải vào trang tính và chọn Xem mã .
- Thao tác này sẽ mở Trình chỉnh sửa Visual Basic .
- Bây giờ, hãy nhập mã vào đó.
Mã VBA:
7132
- Sau đó, nhấn phím F5 hoặc nhấp vào nút Chạy phụ sẽ chạy mã.
- Và, bạn sẽ có thể xem kết quả trong cột G .
🔎 Mã VBA hoạt động như thế nào?
-
For i = 5 To 8
: Điều này có nghĩa là chúng ta muốn vòng lặp chạy bắt đầu từ hàng 5 và kết thúc bằng hàng 8 . -
Cells(i, 7).Value
: Thao tác này lưu giá trị của các vị trí kết quả trong mỗi hàng từ 5 đến 8 hàng trong cột G đó là số cột 7 . -
Match(Cells(i, 6).Value, Range("D5:D10"), 0)
: Các ô có thể được khớp bằng hàm Match (i, 6). Giá trị tìm kiếm cho từng giá trị Tra cứu được tìm thấy trong các hàng 5 đến 8 của cột thứ 6 . Sau đó, tìm kiếm trong mảng D5:D10 trên trang tính excel có sẵn dữ liệu.
Đọc thêm: Excel Tìm giá trị khớp trong hai cột
Những điều cần lưu ý
- Nếu loại đối sánh bị thiếu hoặc không được chỉ định, nó được giả định là 1 .
- Nếu không phát hiện kết quả trùng khớp, trường excel liên quan sẽ trống.
- Giá trị tra cứu có thể là dữ liệu số, ký tự hoặc logic hoặc tham chiếu ô đến số lượng, văn bản hoặc ý nghĩa logic.
Kết luận
Các phương pháp trên sẽ hỗ trợ bạn khớp các giá trị trong một phạm vi trong Excel VBA. Hy vọng điều này sẽ giúp bạn! Nếu bạn có bất kỳ câu hỏi, đề xuất hoặc phản hồi nào, vui lòng cho chúng tôi biết trong phần bình luận. Hoặc bạn có thể xem qua các bài viết khác của chúng tôi trên blog ExcelWIKI.com !