Lê Công Nô
Lê Công Nô
Thảo luận 1 thảo luận
Vỗ tay 0 vỗ tay
Lượt xem 259 lượt xem

Dear Chỉ giúp em code làm thế nào khi ta chọn danh sách Tên hàng (trong Combobox)

Dear thầy.

- Chỉ giúp em code : làm thế nào khi ta chọn danh sách Tên hàng (trong Combobox) thì Ô textbox sẽ tự động nhảy đơn vị tương ứng ạ. (Bài tập thực hành Chương 13)

- Em cảm ơn thầy ạ.

Thảo luận 1 câu trả lời
Lượt xem 259 lượt xem
Vỗ tay vỗ tay
Lê Công Nô 15:12 - Dec 21, 2021

Bạn có thể lập trình trong sự kiện cb_TenHang_Change(), trong đó:

- Để tìm đơn vị tính theo tên hàng được chọn thì bạn dùng 1 trong 2 cách:

Cách 1: Dùng hàm vlookup trong VBA

tb_DVT.Value = Application.WorksheetFunction.VLOOKUP(cb_TenHang, bảng danh mục, thứ tự cột đvt, 0)

cách viết theo dạng Range trong VBA: ví dụ bảng danh mục ở Sheet DanhMuc, vùng B2:D20 thì viết Sheets("DanhMuc").Range("B2:D20")

Cách 2: bạn xác định vị trí dòng của tên hàng được chọn với hàm MATCH trong VBA

Dim SoDong as Long
SoDong = Application.WorksheetFunction.MATCH(cb_TenHang, Sheets("DanhMuc").Range("B1:B200"), 0)

Sau khi xác định được số dòng rồi thì bạn dùng OFFSET trong VBA để lấy giá trị tương ứng trên cùng dòng, khác cột:

tb_DVT.Value = Sheets("DanhMuc").Range("B" & SoDong).Offset(0, 1).Value

trong đó chú ý là có thể có lỗi với hàm vlookup, match => cần thêm lệnh bẫy lỗi để bỏ qua các lỗi có thể phát sinh (như lỗi giá trị combobox tenhang là ô trống, hoặc không tìm thấy tên hàng trong bảng). Cách bẫy lỗi bạn xem trong chương 12 nhé.


Vỗ tay vỗ tay
Câu hỏi liên quan
© 2020 - Bản quyền của Công Ty Cổ Phần Công Nghệ Giáo Dục Gitiho Việt Nam
Giấy chứng nhận Đăng ký doanh nghiệp số: 0109077145, cấp bởi Sở Kế hoạch và Đầu tư TP. Hà Nội
Giấy phép mạng xã hội số: 588, cấp bởi Bộ Thông tin và Truyền thông