code vba vlookup thiếu các giá trị sau khi xoá những dòng không mong muốn
Em chào các anh/chị,
Em có thực hiện 1 đoạn code cho 1 vấn đề như sau:
Cho bảng

Bảng giá trị để vlookup là

Kết quả mong muốn là xoá những dòng có chứa ô blank hoặc xoá những dòng mà không có giá trị để vlookup (vlookup ra #N/A)
--> Trong VD trên sẽ xóa dòng 4,5 (do không có chứa ô blank) và dòng 3, 6 do có "f" nhưng f lại không có giá trị f trong bảng tham chiếu để vlookup).
--> Kết quả mong muốn

Tuy nhiên, khi chạy code kết quả lại bỏ qua mất việc vlookup các giá trị sau khi xoá dòng có chứa giá trị #N/A

Mong các anh chị góp ý bổ sung và tối ưu đoạn code giúp em ạ.
Em cảm ơn
Em chào các anh/chị,
Em có thực hiện 1 đoạn code cho 1 vấn đề như sau:
Cho bảng

Bảng giá trị để vlookup là

Kết quả mong muốn là xoá những dòng có chứa ô blank hoặc xoá những dòng mà không có giá trị để vlookup (vlookup ra #N/A)
--> Trong VD trên sẽ xóa dòng 4,5 (do không có chứa ô blank) và dòng 3, 6 do có "f" nhưng f lại không có giá trị f trong bảng tham chiếu để vlookup).
--> Kết quả mong muốn

Tuy nhiên, khi chạy code kết quả lại bỏ qua mất việc vlookup các giá trị sau khi xoá dòng có chứa giá trị #N/A

Mong các anh chị góp ý bổ sung và tối ưu đoạn code giúp em ạ.
Mã:
Private Sub CommandButton1_Click()
Dim i As Integer
Columns("A:B").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
i = 2
Do While Cells(i, 1) <> ""
Cells(i, 3) = Application.VLookup(Cells(i, 1), Sheets("sheet2").Range("A:C"), 2, False)
If IsError(Cells(i, 3)) Then
Cells(i, 1).EntireRow.Delete
Else
Cells(i, 3).Value = Cells(i, 3)
End If
i = i + 1
Loop
i = 2
Do While Cells(i, 1) <> ""
Cells(i, 4) = Application.VLookup(Cells(i, 2), Sheets("sheet2").Range("A:C"), 2, False)
If IsError(Cells(i, 4)) Then
Cells(i, 1).EntireRow.Delete
Else
Cells(i, 4).Value = Cells(i, 4)
End If
i = i + 1
Loop
End Sub
Em cảm ơn
Lần chỉnh sửa cuối: