Lê Xuân Lương
Lê Xuân Lương
Thảo luận 1 thảo luận
Vỗ tay 0 vỗ tay
Lượt xem 102 lượt xem

kiểm tra giúp em code này sai ở chỗ nào với?Sub laydulieugocHDV2() Dim dlg As

Thầy ơi kiểm tra giúp em code này sai ở chỗ nào với?

Sub laydulieugocHDV2()

    Dim dlg As Worksbook

    Dim hdv As Worksbook

        Set dlg = worksbooks("DLG.xlsx").Sheets("CDmast_date")

        Set hdv = workbooks("Quan ly KHCN").Sheets("huydongvon")

    maxdlg = dlg.Cells(Rows.Count, 1).End(xlUp).Row

    maxhdv = hdv.Cells(Rows.Count, 2).End(xlUp).Row

    On Error Resume Next

    For i = 2 To maxhdv

        hdv.Cells(i, 11) = Application.WorksheetFunction.VLookup(hdv.Cells(i, 4), dlg.Range("A1:B" & maxdlg), 2, 0)

    Next i

    MsgBox "xong"

End Sub

Thảo luận 1 câu trả lời
Lượt xem 102 lượt xem
Vỗ tay vỗ tay
Lê Xuân Lương 10:06 - Jun 07, 2021

Bạn đang gán 2 biến dlg, hdv lầ dạng workbook, nhưng khi set biến bạn lại set về đạng worksheet.

Sai ở chỗ này nhé.

Ngoài ra còn 1 lỗi logic nữa: Khi sử dụng On Error Resume Next thì khi hết vòng lặp bạn phải sử dụng On Error Go to 0 để đưa về chế độ bẫy lỗi thông thường.

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