Chỉ là cập nhật lại dữ liệu, bạn gán cái Sub này cho cái nút "Mu" của bạn nhé.Chào mọi người,
Hiện tại em đang làm 1 file excel để cập nhật dữ liệu tự động, xin được mọi người giúp đỡ để hoàn thành.
Vì có khá nhiều yêu cầu nên em có note trên file để tiện theo dõi
Mong được mọi người giúp đỡ.
Chân thành cảm ơn!
Public Sub MuMuMu()
Dim Rng As Range, CLL As Range, Dic As Object
Set Dic = CreateObject("Scripting.Dictionary")
With Sheets("Get data")
Set Rng = .Range(.[A15], .[A65536].End(xlUp))
For Each CLL In Rng
If Not Dic.Exists(CLL.Value) Then Dic.Add CLL.Value, CLL.Offset(, 3).Value
Next CLL
.Range("A15:D100").ClearContents
End With
With Sheets("Report")
Set Rng = .Range(.[B7], .[B65536].End(xlUp))
For Each CLL In Rng
If Dic.Exists(CLL.Value) Then CLL.Offset(, 2).Value = Dic.Item(CLL.Value)
Next CLL
End With
Set Dic = Nothing
MsgBox "XONG.", , "GIAIPHAPEXCEL"
End Sub
Nếu vậy thì thay Sub trên thành cái này:Hi Ba Tê,
Câu lệnh MuMuMu của bác em đã thử và đã chạy nhưng em vẫn còn chút băn khoăn:
- Khi bấm lệnh Move, Cột PC Code Cần được giữ nguyên, và chỉ thay đổi tên cho đúng với yêu cầu (Đổi PC code theo yêu cầu nhưng thực tế là thay đổi Tên nhân viên trong sheet report,)
Public Sub MuMuMu()
Dim Rng As Range, CLL As Range, Dic As Object, Arr(), K As Long
Set Dic = CreateObject("Scripting.Dictionary")
With Sheets("Get data")
Set Rng = .Range(.[D15], .[D65536].End(xlUp))
ReDim Arr(1 To Rng.Rows.Count, 1 To 2)
For Each CLL In Rng
If Not Dic.Exists(CLL.Value) Then
K = K + 1
Dic.Add CLL.Value, K
Arr(K, 1) = CLL.Offset(, -3).Value
Arr(K, 2) = CLL.Offset(, -2).Value
End If
Next CLL
.Range("A15:D100").ClearContents
End With
With Sheets("Report")
Set Rng = .Range(.[D7], .[D65536].End(xlUp))
For Each CLL In Rng
If Dic.Exists(CLL.Value) Then
CLL.Offset(, -2).Value = Arr(Dic.Item(CLL.Value), 1)
CLL.Offset(, -1).Value = Arr(Dic.Item(CLL.Value), 2)
End If
Next CLL
End With
Set Dic = Nothing
MsgBox "XONG.", , "GIAIPHAPEXCEL"
End Sub
Cái này tôi chưa giải quyết vì chẳng hiểu cái nào theo cái nào, bạn tự làm chuyện này bằng thủ công trước xem sao.- Sheet Get data chưa giải quyết được vấn đề của: Check Mã Nhân viên, Check mã PC hiện tại, Check mã PC mới
1/ Xem lại file nàyChào Ba Tê,
Cảm ơn Bác đã giúp em, Em đã gán dòng lệnh trên vào nút Move rồi, nhưng có một chút lỗi nhỏ như sau:
Không xóa được Tên NV bên sheet Report: Khi chuyển 8001 qua dùng HN-T4-124 thì tên NV chuyển xuống nhưng không xóa được trên mã PC củ dẫn đến trường hợp 1 nhân viên dùng 2 PC.
Mong bác giúp em fix luôn chổ này với, tiện thể bác kiểm tra xem em dùng công thức ở cột Check Mã Nhân viên, Check mã PC hiện tại đã tốt hay chưa.
Xin chân thành cảm ơn