gianghoxaotra
Thành viên chính thức


- Tham gia
- 6/2/13
- Bài viết
- 53
- Được thích
- 1
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
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
Chỉnh sửa lần cuối bởi điều hành viên: