Đình Phán
Thành viên thường trực
- Tham gia
- 23/11/10
- Bài viết
- 232
- Được thích
- 68
- Giới tính
- Nam
- Nghề nghiệp
- kt
chưa kịp xem code của bạn đâu, nhưng bạn có thể dùng đoạn này nhéChào các anh chị GPE.
Anh chị xem giúp file này em code sai chỗ nào mà kết quả không ra ý muốn
Chỉ đúng với trường hợp mã xuất hiện 01 lần, hai lần trở lên thì sai bét.
Chi tiết file đính kèm
Em cảm ơn!
Sub TIMKIEM()
Dim Sarr, Arr, i As Long, j As Long, k As Long, Tmp As String
With Sheets("P")
Sarr = .Range(.[A4], .[A65000].End(xlUp)).Resize(, 6).Value2
End With
ReDim Arr(1 To UBound(Sarr), 1 To 5)
With Sheets("P")
Tmp = UCase(.[H1])
For i = 1 To UBound(Sarr)
If UCase(Sarr(i, 1)) = Tmp Then
k = k + 1
For j = 2 To 6
Arr(k, j - 1) = Sarr(i, j)
Next
End If
Next
.[J4:N65000].ClearContents
.[J4].Resize(k, 5).Value = Arr
End With
End Sub
Sub TIMKIEM()
Dim Ma As String
Dim RongCuoi As Integer
Dim i As Integer
Ma = Sheets("P").Range("H1").Value
RongCuoi = Sheets("P").Range("A10000").End(xlUp).Row
Sheets("P").Range("J4:N2300").ClearContents
For i = 4 To RongCuoi
If Cells(i, 1) = Ma Then
Range(Cells(i, 2), Cells(i, 6)).Copy
Range("J1000").End(xlUp).Offset(1).PasteSpecial xlPasteFormulasAndNumberFormats
End If
Next i
End Sub
Range("[COLOR=#ff0000][SIZE=4][B]J[/B][/SIZE][/COLOR]1000").End(xlUp).Offset([COLOR=#ff0000][SIZE=4][B]1, 0[/B][/SIZE][/COLOR]).PasteSpecial xlPasteFormulasAndNumberFormats
Đúng là vậy đó, với cả bạn để ý cả cái vòng lặp nữa ý. Dòng cuối cùng có dữ liệu lại copy số lần A, B, C lập lại(xuống 1 dòng). Nếu bạn để thế kia dòng cuối cùng có dữ liệu luôn là là H1 sau dó offset(3,2) nên chỉ được 1 lầnChính xác là DongCuoi ạ. Nhưng em cố tình đặt để cho khác biệt.
Bác có thể giải thích giúp em thay đổi thành J1000 lại được không? Vì em có thể chọn bất cứ ô nào sau đó Offset là được mà. (Phải chăng là do phần End(xlUp) đi kèm ạ?
Em cảm ơn!
DIỄN ĐÀN GIẢI PHÁP EXCEL Group 1
DIỄN ĐÀN GIẢI PHÁP EXCEL Group 2