Gửi bởi
aicungyeuanh
Tôi chưa ngâm đc code đâu bạn à, bạn cứ chỉ tôi find trên menu đi
Tôi không hiểu "find trên menu" là cái gì, nhưng mà trong code trên tôi đã chú thích có 2 câu lệnh liên quan đến Find:
Mã:
Set sRng = Rng.Find(Target.Offset(1).Value, , xlValues, xlWhole)
và:
Mã:
Set sRng = Rng.FindNext(sRng)
Bạn nhấn Ctrl+F để mở hộp thoại Find and Replace cho dễ hình dung:
Trong câu lệnh thứ nhất:
- Rng là vùng dữ liệu nguồn
- Target.Offset(1).Value là giá trị cần tìm, tương ứng với mục Find what trên hộp thoại.
- xlValues cho biết tìm ở đâu (giá trị hay công thức, ở đây là giá trị), tương ứng với mục Look in trên hộp thoại.
- xlWhole cho biết tìm chuỗi con hay toàn bộ giá trị ô, ở đây là tìm toàn bộ, tương ứng với dấu check Match entire cell contents trên hộp thoại.
Ở đây, kết quả của phương thức Find là một ô (nếu tìm thấy), và nó có thể gán cho một biến kiểu Range, vậy mới có câu lệnh Set sRng = ...
Còn câu lệnh thứ 2 thì tương ứng với nút lệnh Find Next trên hộp thoại.
Tổng kết lại: Thuật toán đã sử dụng trong file là: Tìm mã hàng tương ứng với tên hàng đã chọn, không thấy thì hiện hộp thoại báo không tìm thấy, ngược lại thì lấy dữ liệu tìm thấy gán qua sheet TheKho, sau khi gán xong thì tìm tiếp xem còn giá trị nào thỏa mãn nữa không... cho đến hết thì thôi.