



Tại vì chưa trả lời thôi, bài toán cũng khó nhưng tạm giải quyết thế này nhakhông pro nào trả lời được câu hỏi của em ạ!
( không biết thì phải hỏi, dù là đơn giản nhất)
Sub tonghop()
Dim kq, dl, i, ii, j, sh
kq = Range([c7], [c65536].End(3)).Resize(, 5).Value
For Each sh In Worksheets
If sh.Name <> "tonghop" Then
With sh
dl = .Range(.[c7], .[c65536].End(3)).Resize(, 5).Value
End With
For i = 1 To UBound(kq)
For j = 1 To UBound(dl)
If kq(i, 1) = dl(j, 1) Then
For ii = 2 To 5
kq(i, ii) = kq(i, ii) & dl(j, ii) & ChrW(10)
Next
End If
Next
Next
End If
Next
[c7].Resize(i - 1, 5) = kq
End Sub
tôi nghĩ bạn nên bố trí lại ngày nghỉ theo 1 cột từ trên xuống, mỗi ngày nghỉ là 1 hàng và sau đó dùm hàm dò tìm thì hay hơnMinh xin úp cả 2 file , 2003 và 2007, Tổng hợp giúp mình nhé, Xin cảm ơn!
Tại vì chưa trả lời thôi, bài toán cũng khó nhưng tạm giải quyết thế này nha
Bài này dùng VBA thì hay hơn
Ngoài lề tí: Mình thấy cách quản lý kiểu này ngộ quá, ngộ thiệt.
PHP:Sub tonghop() Dim kq, dl, i, ii, j, sh kq = Range([c7], [c65536].End(3)).Resize(, 5).Value For Each sh In Worksheets If sh.Name <> "tonghop" Then With sh dl = .Range(.[c7], .[c65536].End(3)).Resize(, 5).Value End With For i = 1 To UBound(kq) For j = 1 To UBound(dl) If kq(i, 1) = dl(j, 1) Then For ii = 2 To 5 kq(i, ii) = kq(i, ii) & dl(j, ii) & ChrW(10) Next End If Next Next End If Next [c7].Resize(i - 1, 5) = kq End Sub




cảm ơn pro có cách nào nữa không ạ,
Đối với mình thì hết rồi




Bạn xem như thế này được chưaHix hix, cảm ơn pro mong ai có cách linh được lý do qua các sheet để em đỡ phải cópi các sheet chung trong một bảng tổng hợp
Sub tonghop()
Dim kq, dl, i, ii, j, sh
[d7:g1000].ClearContents
kq = Range([c7], [c65536].End(3)).Resize(, 5).Value
For Each sh In Worksheets
If sh.Name <> "tonghop" Then
dl = sh.Range(sh.[c7], sh.[c65536].End(3)).Resize(, 5).Value
For i = 1 To UBound(kq)
For j = 1 To UBound(dl)
If kq(i, 1) = dl(j, 1) Then
If kq(i, 2) Like "*" & dl(j, 2) & "*" Then
kq(i, 2) = kq(i, 2)
Else
kq(i, 2) = kq(i, 2) & dl(j, 2) & ChrW(10)
End If
For ii = 3 To 5
kq(i, ii) = kq(i, ii) & dl(j, ii) & ChrW(10)
Next
End If
Next
Next
End If
Next
[c7].Resize(i - 1, 5) = kq
Erase kq
End Sub