Vlookup Trong VBA
Có thể bạn quan tâm
Menu
- Trang chủ
- Diễn đàn Bài viết mới Tìm chủ đề
- Có gì mới Bài viết mới Hoạt động mới nhất
Tìm kiếm
Everywhere Chủ đề This forum This thread Chỉ tìm trong tiêu đề Tìm Tìm kiếm nâng cao…- Bài viết mới
- Tìm chủ đề
- Cách upload ảnh lên diễn đàn
- Trang chủ
- Diễn đàn
- Kỹ thuật xử lý Excel
- Lập trình VBA
- Thread starter tuhocvba
- Ngày gửi 17/8/19
tuhocvba
Administrator
Thành viên BQT Hôm nay tôi sẽ trình bày Vlookup trong VBA. Tôi cố gắng trình bày dễ hiểu nhất có thể. Bài viết này, diễn đàn thực hiện theo lời hứa với @songcham . Trước hết các bạn hãy xem hình ảnh dưới đây: Bạn cần đăng nhập để thấy hình ảnh Ở đây tôi xây dựng UserForm gồm có ô Textbox1. Người dùng nhập ký tự cần tìm kiếm vào ô này. Macro sẽ thực hiện tìm kiếm giá trị này trong vùng tìm kiếm [B2 : D18 ] Mã: Private Sub CommandButton1_Click() Dim kq As String Dim x As String 'Gan tri tri cua Textbox1 tren UserForm cho x x = UserForm1.TextBox1.Value kq = timkiem(x) MsgBox kq End Sub Phần code VBA sử dụng Vlookup được thể hiện như dưới đây: Mã: Function timkiem(ByVal x As String) As String Dim r As Range 'thiet dinh vung tim kiem Set r = ThisWorkbook.Sheets(1).Range(Cells(2, 2), Cells(18, 4)) On Error GoTo ErrHdl With ActiveSheet 'TIm kiem trong vung tim kiem data, ket qua tra ve lay o cot C timkiem = _ Application.WorksheetFunction.VLookup(x, r, 2, False) End With Exit Function ErrHdl: 'Nếu lỗi xảy ra do hàm Vlookup không tìm kiếm thấy, thì nhảy tới đây timkiem = "Khong tim thay" End Function File các bạn có thể download ở đây: Bạn cần đăng nhập để thấy link . Bây giờ tôi di chuyển lại vị trí cột và thực hiện tìm kiếm. Bạn cần đăng nhập để thấy đính kèm Kết quả thật bất ngờ, nó không tìm thấy nữa. Lý do là 2 ghi ở trên cột B của excel được macro hiểu là số. Còn 2 ghi trong ô textbox được VBA hiểu là string. Do đó, trong trường hợp tìm số, thì code trên phải sửa lại hàm tìm kiếm: Mã: Function timkiem(ByVal x As String) As String Dim r As Range Dim y As Long 'sua lai code de tim kiem so 'thiet dinh vung tim kiem Set r = ThisWorkbook.Sheets(1).Range(Cells(2, 2), Cells(18, 4)) y = Val(x) 'sua lai code de tim kiem so On Error GoTo ErrHdl With ActiveSheet 'TIm kiem trong vung tim kiem data, ket qua tra ve lay o cot C timkiem = _ Application.WorksheetFunction.VLookup(y, r, 2, False) 'tim kiem y, chu y khong phai la tim kiem x End With Exit Function ErrHdl: timkiem = "Khong tim thay" End Function Hãy chú ý các dòng code 3,6,11 là các vị trí tôi đã sửa để thực hiện tìm kiếm được với số. Và bây giờ kết quả đúng như mong đợi. Bạn cần đăng nhập để thấy đính kèm Bạn phải đăng nhập hoặc đăng ký để bình luận. Chia sẻ: Facebook Twitter WhatsApp Email Link- Trang chủ
- Diễn đàn
- Kỹ thuật xử lý Excel
- Lập trình VBA
Từ khóa » Cách Sử Dụng Vlookup Trong Vba
-
Cách Dùng Hàm VLOOKUP VBA Và Vòng Lặp FOR EACH Trong VBA ...
-
Application.VLOOKUP Và WorksheetFunction.VLOOKUP Trong VBA ...
-
Cách Sử Dụng Hàm VLOOKUP Tự động Trong VBA Excel - YouTube
-
Viết Hàm VLOOKUP Trong Vba - HelpEx
-
Hàm Công Thức Vlookup Là Gì? Hướng Dẫn Cách Sử Dụng
-
Xin Viết Dùng Mã Vba Thay Thế Cho Hàm Vlookup | Giải Pháp Excel
-
Hàm Dò Tìm Nâng Cao - Lập Trình VBA Trong Excel!
-
Tuyệt Đỉnh Excel - Tự Viết Hàm Tra Cứu VLOOKUP Sử Dụng VBA
-
Tạo Hàm Vba Trong Excel / TOP #10 Xem Nhiều Nhất & Mới Nhất 7 ...
-
Hàm InStr() Trong VBA - Học Lập Trình VBA Online - VietTuts
-
Hàm VLOOKUP Trong Excel: Cách Sử Dụng Và Ví Dụ Cụ Thể
-
Hàm DIR Trong VBA (Phần 2) - Thủ Thuật