Xin giúp đỡ: Cập nhật - thay thế dữ liệu tự động trong file excel (1 người xem)

  • Thread starter Thread starter cmt_cmt
  • Ngày gửi Ngày gửi
Liên hệ QC

Người dùng đang xem chủ đề này

cmt_cmt

Thành viên mới
Tham gia
1/5/12
Bài viết
17
Được thích
1
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!
 

File đính kèm

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!
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é.
PHP:
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
 
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,)
- 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
Xin được chỉ giáo thêm.
Trân trọng,
 
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,)
Nếu vậy thì thay Sub trên thành cái này:
PHP:
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
- 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
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.
 
Chà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
 

File đính kèm

Chà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
1/ Xem lại file này
2/ Nếu tôi làm thì làm như trong file. Sheet Get data:
- Cột B nhập tên NV theo Validation, nhập sai báo liền, khỏi kiểm tra
- Nhập cột B sẽ có Mã NV cột A và Mã PC hiện tại trong cột C bằng công thức.
- Nhập mã PC mới vào cột D cũng theo Validation, không nhập mã "bậy" được nên cũng khỏi kiểm tra.
Đừng xoá công thức trong cột A và C là được. Tốn thêm 1 bảng kiểm tra làm gì cho rối mắt.
 

File đính kèm

Hi bác Ba Tê,
Cảm ơn bác, file bác làm đã đáp ứng được nhu cầu của em. Thanks bác nhiều và sẽ hỏi thăm khi gặp lỗi, Chân thành cảm ơn.
Trân trọng!
 
Chào bác Ba Tê,
Xin bác thêm cho em vài dòng code với yêu cầu như sau ah:
Nếu Mã PC mới bằng rỗng thì nut MOVE sẽ hiện thông báo: "CAN NHAP MA PC MOI"
// Hiện tại nếu nhập tên nhân viên mà không nhập mã PC mới, bấm nut MOVE sẽ có lỗi
Em chân thành cảm ơn,
 
Web KT

Bài viết mới nhất

Back
Top Bottom