Võ Thế Mỹ
Võ Thế Mỹ
Thảo luận 1 thảo luận
Vỗ tay 0 vỗ tay
Lượt xem 125 lượt xem

Chào Em bị gặp vấn đề với lệnh IFNếu em k sử dụng Else thì text box e

Chào thầy

Em bị gặp vấn đề với lệnh IF

Nếu em k sử dụng Else thì text box e sẽ trả về đúng kết quả.

Khi thêm lệnh else thì trả về kết quả của else hết "nhap ten hang"

Mong thầy hỗ trợ ạ.


Thảo luận 1 câu trả lời
Lượt xem 125 lượt xem
Vỗ tay vỗ tay
Võ Thế Mỹ 00:05 - May 02, 2022

Ở đây bạn cần xét lại logic kiểm tra tên hàng.

Nếu tên hàng có trong danh mục hàng hóa, vùng A3:A8 thì sẽ có đơn vị tính, còn không thì đưa ra cảnh báo.

=> bạn kiểm tra theo hàm COUNTIF dạng:

IF Application.WorksheetFunction.COUNTIF(Sheet1.Range("A3:A8"), cbb_TenHang) = 0 Then
Txt_dvt = "nhap ten hang"
Else
On Error Resume Next
Txt_dvt = Application.WorksheetFunction.VLOOKUP(cbb_TenHang, Sheet1.Range("A3:C8"), 2, 0)
On Error Goto 0
End If

Ở đây không nên dùng vòng lặp. Nếu dùng vòng lặp thì phải dùng dạng Do While chứ không phải For Each. Bởi dạng vòng lặp For sẽ chạy hết toàn bộ vòng lặp mới thoát ra, còn Do While khi đúng rồi sẽ thoát ra ngay, không chạy tiếp.

Với cách sử dụng hàm VLOOKUP thì giống excel thôi, sẽ không liên quan gì tới vòng lặp.

Lệnh On Error để tránh các lỗi có thể xảy ra với hàm VLOOKUP (như không có dữ liệu) => bỏ qua các lỗi này để tránh gián đoạn code (lỗi này không nghiêm trọng, không ảnh hưởng tới kết quả).

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