



thấy hỏng hiểu gì luôn, hỏng thấy lấy theo quy luật nào hết, lúc đầu tưởng lấy hết theo thứ tự từ trái qua từ trên xuống, nên dùng OFFSET, ai ngờ khi ra kết quả so khớp thì mới thấy nó không khớp, yêu cầu không theo một quy luật nào cả
Em gửi File kèm theo.
Public Sub Noi_Dong()
Dim DL, Tam(), kq(), r As Long, c As Long
DL = Sheet1.Range("A4:D13")
ReDim Tam(1 To UBound(DL) * UBound(DL, 2)), kq(1 To UBound(DL) * UBound(DL, 2))
For r = 1 To UBound(DL)
For c = 1 To UBound(DL, 2)
Tam(r) = Tam(r) & " " & DL(r, c)
If r = 1 Then
kq(r) = kq(r) & " " & DL(r, c)
Else
If InStr(Tam(r - 1) & " ", " " & DL(r, c) & " ") = 0 Then
kq(r) = kq(r) & " " & DL(r, c)
End If
End If
Next c
kq(r) = Trim(kq(r))
Next r
Sheet1.Range("H4").Resize(UBound(DL) * UBound(DL, 2), 1).ClearContents
Sheet1.Range("H4").Resize(UBound(DL) * UBound(DL, 2), 1) = Application.Transpose(Split(Join(kq, " "), " "))
End Sub
Làm xong mới nhận ra là trang "Hàm và công thức"
Cảm ơn anh nhiều, nhưng ý em là muốn sắp sếp thời gian theo thứ tự tăng dần theo hàng ngang ( số trùng chỉ lấy 1) rồi lấy tiếp theo hàng dọc, em gửi kèm File, Anh chị xem rồi giúp em, cảm ơn nhiều.
Nhưng khi em thay số liệu mới ( File em gửi sau) thì không được như ý, anh xem lại giúp em nhé.
Public Sub Noi_Dong()
Dim DL, kq(), r As Long, rw As Long, c As Long, i
DL = Sheet1.Range("A4:D13")
ReDim kq(1 To UBound(DL) * UBound(DL, 2), 1 To 1)
With CreateObject("scripting.dictionary")
For r = 1 To UBound(DL) - 1
For rw = r To r + 1
For c = 1 To UBound(DL, 2)
If DL(rw, c) <> "" Then
If Not .exists(DL(rw, c)) Then
.Add DL(rw, c), ""
Else
DL(rw, c) = ""
End If
End If
Next c
Next rw
.RemoveAll
Next r
End With
For r = 1 To UBound(DL)
For c = 1 To UBound(DL, 2)
If DL(r, c) <> "" Then
i = i + 1
kq(i, 1) = DL(r, c)
End If
Next c
Next r
Sheet1.Range("H4").Resize(UBound(kq), 1).ClearContents
Sheet1.Range("H4").Resize(i, 1) = kq
End Sub
Cái này có lẽ là do chủ thớt kèm file mẫu không tổng quát thôi.cái này làm bằng VBA cũng còn mệt chứ đừng nói là xài công thức
Cái này có lẽ là do chủ thớt kèm file mẫu không tổng quát thôi.
bạn nói chuyện với ai thì phải trích lời người đó . nhiều người làm cho bạn thì biết bạn nói chuyện với ai ?Cảm ơn anh nhiều, gần đúng ý em rồi, anh sửa giúp em, nếu tính từ 0 hoặc 1 giờ đi, File của anh chỉ đúng khi mốc đầu tiên >20h thôi.
bài #3 bạn nói thời gian bắt đầu từ 20h trở đi rồi nay bạn đưa file lên bắt đầu từ số 19 ????Anh xem giúp em trường hợp sau
bạn muốn gì thì đem file lên đây kèm các vị trí mong muốn trong file đó .Cảm ơn anh doveandrose nhiều, đúng yêu cầu của em rồi. Mong anh giúp thêm em cách sắp sếp lại code để cột kết quả nằm ở cột, ô B4 còn bảng giữ liệu đặt ở cột, ô J4, em sắp xếp lại nhưng không được. Cảm ơn anh nhiều.
bạn click phải chuột vào 1 ô bất kì thấy hiện ra cái menu có dòng là Clear Contents mà . chắc bạn cũng biết để làm gì chứAnh giải thích giúp em code "Range("O4").Resize(k).ClearContents", em có cột dữ liệu cạnh bên của cột kết quả bị xoá mất tiêu à. Giúp em với.
không dám nghịch bao giờ mới khá được ? thấy bảng hiện ra mà bảo là không chạy ?Anh doveandrose ơi Macro không chạy, xuất hiện bảng "get Range" là sao anh? Xem lại giúp em với, cảm ơn anh.
tôi không tham gia trả lời topic này nữa . giờ này là đã đến #34 rồi mà file bạn đưa lên vẫn chưa phải file thật , tôi tiếp tục làm thì chắc còn phải làm dài dài vì có phải file thật đâu . tôi không đủ kiên nhẫn làm việc với những người không nghiêm túc . chào bạn
File lần trước anhdoveandrose và các bạn giúp lại phát sinh 1 vấn đề khác mong anh và các bạn xem lại giúp, em gửi File kèm theo. cảm ơn nhiều. http://www.giaiphapexcel.com/forum/member.php?189279-doveandrose