Cập nhật danh sách nhân viên hàng tháng bằng VBA

Liên hệ QC

phamdinhnguyen82

Thành viên mới
Tham gia
25/3/14
Bài viết
2
Được thích
0
sau mỗi tháng sẽ cập nhật lại danh sách nhân viên:
sheet 1: ds nhân viên hiện tại
sheet 2: data nhân viên cập nhật hàng tháng (do bp nhân sự cấp)
sheet 3: ds nhân viên nghỉ việc

Đề bài: viết vba chạy:
sau mỗi tháng, sẽ so sánh giữa sheet 2 và sheet 1 để:
- copy các nhân viên thuộc sheet 2 mà không có trong sheet 1 vào sheet 1
- copy các nhan viên thuộc sheet 1 mà k có trong sheet 2 sang sheet 3 (nghỉ việc) và xóa trong sheet 1.
Bài đã được tự động gộp:

 

File đính kèm

sau mỗi tháng sẽ cập nhật lại danh sách nhân viên:
sheet 1: ds nhân viên hiện tại
sheet 2: data nhân viên cập nhật hàng tháng (do bp nhân sự cấp)
sheet 3: ds nhân viên nghỉ việc

Đề bài: viết vba chạy:
sau mỗi tháng, sẽ so sánh giữa sheet 2 và sheet 1 để:
- copy các nhân viên thuộc sheet 2 mà không có trong sheet 1 vào sheet 1
- copy các nhan viên thuộc sheet 1 mà k có trong sheet 2 sang sheet 3 (nghỉ việc) và xóa trong sheet 1.
Bài đã được tự động gộp:
Sửa Tiêu đề bài viết tiếng Việt có dấu đầy đủ đi bạn.

A_Noiquy.GIF
 
sau mỗi tháng sẽ cập nhật lại danh sách nhân viên:
sheet 1: ds nhân viên hiện tại
sheet 2: data nhân viên cập nhật hàng tháng (do bp nhân sự cấp)
sheet 3: ds nhân viên nghỉ việc

Đề bài: viết vba chạy:
sau mỗi tháng, sẽ so sánh giữa sheet 2 và sheet 1 để:
- copy các nhân viên thuộc sheet 2 mà không có trong sheet 1 vào sheet 1
- copy các nhan viên thuộc sheet 1 mà k có trong sheet 2 sang sheet 3 (nghỉ việc) và xóa trong sheet 1.
Bài đã được tự động gộp:
Không đầu, không đuôi!
 
PHP:
Sub CapNhatDanhSachNhanVienHangThang()
 Dim Rng As Range, sRng As Range, dRg As Range, Cls As Range
 Dim Rws As Long, Col As Integer, J As Long

1 ' Giam Sô Nghi Viêc:           '
 With Sheets("Ds Moi")
    Set Rng = .Range(.[C2], .[C9999].End(xlUp))
 End With
 Sheets("Hien huu").Select
 Rws = [C999].End(xlUp).Row:            Col = Cells(1, 9999).End(xlToLeft).Column
 For J = Rws To 3 Step -1
    Set sRng = Rng.Find(Cells(J, "C").Value, , xlFormulas, xlWhole)
    If sRng Is Nothing Then
        Cells(J, "B").Resize(, Col).Copy Destination:=Sheets("Ds Nghi").[B9999].End(xlUp).Offset(1)
        If dRg Is Nothing Then
            Set dRg = Rows(J & ":" & J)
        Else
            Set dRg = Union(dRg, Rows(J & ":" & J))
        End If
    End If
  Next J
  If Not dRg Is Nothing Then dRg.Delete
End Sub
 
PHP:
Sub CapNhatDanhSachNhanVienHangThang()
Dim Rng As Range, sRng As Range, dRg As Range, Cls As Range
Dim Rws As Long, Col As Integer, J As Long

1 ' Giam Sô Nghi Viêc:           '
With Sheets("Ds Moi")
    Set Rng = .Range(.[C2], .[C9999].End(xlUp))
End With
Sheets("Hien huu").Select
Rws = [C999].End(xlUp).Row:            Col = Cells(1, 9999).End(xlToLeft).Column
For J = Rws To 3 Step -1
    Set sRng = Rng.Find(Cells(J, "C").Value, , xlFormulas, xlWhole)
    If sRng Is Nothing Then
        Cells(J, "B").Resize(, Col).Copy Destination:=Sheets("Ds Nghi").[B9999].End(xlUp).Offset(1)
        If dRg Is Nothing Then
            Set dRg = Rows(J & ":" & J)
        Else
            Set dRg = Union(dRg, Rows(J & ":" & J))
        End If
    End If
  Next J
  If Not dRg Is Nothing Then dRg.Delete
End Sub
đã chạy được sheet nhân viên nghỉ việc, còn em sẽ mò thêm cái nhân viên mới copy vào danh sách hiện hữu ạ. Tks a
Bài đã được tự động gộp:

Sửa Tiêu đề bài viết tiếng Việt có dấu đầy đủ đi bạn.

View attachment 222188
Dạ em đã cập nhật ạ. Tks a đã nhắc.
 
Web KT

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

Back
Top Bottom