nguyenvanthao2002
Thành viên mới

- Tham gia
- 11/12/13
- Bài viết
- 42
- Được thích
- 3
em gửi lại rồi ạ.Đây là file có virus X97M/Laroux.f
Em đính kèm lại rồi ạ.Hồi tối mình tải thử thấy cũng báo virus
Lần 1 dính nên lần 2 rénEm đính kèm lại rồi ạ.
Bạn thử code xem chạy được không?Em nhờ các anh chị giúp em lọc lấy dữ liệu 3 dòng liên tiếp như file đính kèm. Em xin cám ơn
Sub test()
Dim Arr(), Res(), Lr As Long, i As Long, j As Long, k As Long, b As Long
With Sheet1
Lr = .Range("A" & Rows.Count).End(xlUp).Row
Arr = .Range("A2:B" & Lr + 3).Value
ReDim Res(1 To UBound(Arr), 1 To 2)
For i = 1 To UBound(Arr)
If InStr(Arr(i, 1), "M15") > 0 And InStr(Arr(i + 1, 1), "ENTRY") > 0 And InStr(Arr(i + 2, 1), "SL") > 0 Then
k = k + 1
For b = 1 To 2
Res(k, b) = Arr(i, b)
Res(k + 1, b) = Arr(i + 1, b)
Res(k + 2, b) = Arr(i + 2, b)
Next b
k = k + 2
End If
If i = Lr Then Exit For
Next i
If k Then
.Range("I18").Resize(UBound(Arr), 2).Value = Res
End If
End With
End Sub
Em cám ơn Anh nhiều.Bạn thử code xem chạy được không?
Mã:Sub test() Dim Arr(), Res(), Lr As Long, i As Long, j As Long, k As Long, b As Long With Sheet1 Lr = .Range("A" & Rows.Count).End(xlUp).Row Arr = .Range("A2:B" & Lr + 3).Value ReDim Res(1 To UBound(Arr), 1 To 2) For i = 1 To UBound(Arr) If InStr(Arr(i, 1), "M15") > 0 And InStr(Arr(i + 1, 1), "ENTRY") > 0 And InStr(Arr(i + 2, 1), "SL") > 0 Then k = k + 1 For b = 1 To 2 Res(k, b) = Arr(i, b) Res(k + 1, b) = Arr(i + 1, b) Res(k + 2, b) = Arr(i + 2, b) Next b k = k + 2 End If If i = Lr Then Exit For Next i If k Then .Range("I18").Resize(UBound(Arr), 2).Value = Res End If End With End Sub