AnhThu-1976
Thành viên tích cực
- Tham gia
- 17/10/14
- Bài viết
- 1,061
- Được thích
- 175
Em đang tập thử code:
đề bài: dựa vào cột A của sheet Ma tìm những mã này ở sheet Data gán xuống sheet KetQua
Code trên vẫn chạy đúng nếu bên sheet Ma có nhiều hơn 1 mã và ít nhất có 1 mã có trong bộ mã của cột A sheet Data
* Code bị lỗi
Nếu bên sheet Ma chỉ có 1 mã hoặc không có mã nào hoặc có nhiều hơn 1 mã nhưng nếu 1 trong các mã này không có trong bộ mã của cột A sheet Data thì đều bị báo lỗi
Các anh/chị giúp em phân tích và sửa lỗi code. Em cảm ơn
* điều chỉnh thêm: Em đã tìm thêm trường hợp không có kết quả thì xét If k>0 ....
đề bài: dựa vào cột A của sheet Ma tìm những mã này ở sheet Data gán xuống sheet KetQua
Mã:
Sub Loc()
Dim Data, kQarr, i, j, k, lr, lr1, Tmp
ReDim kQarr(1 To 65000, 1 To 3)
With Sheets("Data")
lr = .Range("A" & Rows.Count).End(3).Row
Data = .Range("A1:C" & lr).Value
End With
With Sheets("Ma")
lr1 = .Range("A" & Rows.Count).End(3).Row
MsgBox lr1
Tmp = .Range("A1:A" & lr1).Value
End With
For i = 1 To UBound(Data)
For j = 1 To UBound(Tmp)
If Data(i, 1) = Tmp(j, 1) Then
k = k + 1
kQarr(k, 1) = Data(i, 1)
kQarr(k, 2) = Data(i, 2)
kQarr(k, 3) = Data(i, 3)
End If
Next j
Next i
Sheets("KetQua").Range("B5:D5000").Clear
Sheets("KetQua").Range("B5:D5").Resize(k).Value = kQarr
End Sub
* Code bị lỗi
Nếu bên sheet Ma chỉ có 1 mã hoặc không có mã nào hoặc có nhiều hơn 1 mã nhưng nếu 1 trong các mã này không có trong bộ mã của cột A sheet Data thì đều bị báo lỗi
Các anh/chị giúp em phân tích và sửa lỗi code. Em cảm ơn
* điều chỉnh thêm: Em đã tìm thêm trường hợp không có kết quả thì xét If k>0 ....