Thắc mắc về VBA tìm kiếm Vlookup

Chia sẻ bởi:hands
★★★★★
Quảng cáo

Mình viết VBA do tìm trong Excel nhưng code chạy không ra kết quả, test bằng hàm Vlookup thì có kết quả. Nhờ các cao thủ chỉ giúp. Cảm ơn.

Sub TimKiem_Vlookup2()
Dim i As Long, j As Long, sArray1, sArray2, Arr()
With Sheets("Sheet2")
    sArray1 = .Range(.[A2], .[A300000].End(xlUp)).Resize(, 2).Value
End With
With Sheets("Data")
    .Range("AP2:AP300000").ClearContents
    sArray2 = .Range(.[AK2], .[AK300000].End(xlUp)).Value
    ReDim Arr(1 To UBound(sArray2, 1), 1 To 2)
For j = 1 To 500
'For j = 1 To UBound(sArray2, 1)
    For i = 1 To UBound(sArray1, 1)
        If Not IsEmpty(sArray2(j, 1)) And sArray1(i, 1) = UCase(sArray2(j, 1)) Then
            Arr(j, 1) = sArray1(i, 2)

End If
    Next
Next
.Range("AP2").Resize(j - 1, 1).Value = Arr
End With
End Sub

Câu lệnh này
"ReDim Arr(1 To UBound(sArray2, 1), 1 To 2)" trong file viết là
"ReDim Arr(1 To UBound(sArray2, 1), 1)" nên kết quả xuống sheet có sai khác
sửa :
Hoặc sửa lại là
"ReDim Arr(1 To UBound(sArray2, 1), 1 to 1)" thì kết quả xuống cột AP

Hoặc sửa
".Range("AP2").Resize(j – 1, 1).Value = Arr" thành
".Range("AP2").Resize(j – 1, 2).Value = Arr" thì kết quả xuống cột AQ.

Sửa chỗ tô đậm

www.giaiphapexcel.com/diendan/threads/th%E1%BA%AFc-m%E1%BA%AFc-v%E1%BB%81-vba-t%C3%ACm-ki%E1%BA%BFm-vlookup.108085/

Khóa học Power PI – Ứng dung trong Nhân sự
Khóa học SprinGO phù hợp

Khóa học Power PI – Ứng dung trong Nhân sự

TỔNG QUAN KHÓA HỌC: POWER BI CHO NGÀNH NHÂN SỰ Khóa học Power BI cho Nhân sự được thiết kế dành riêng cho các...

Xem khóa học
★★★★★ 5 ★ 1 👤 2 ▥ 0
Quảng cáo

Bạn nên đọc

Bình luận

Quảng cáo

Cũ vẫn chất

Xem thêm