Trả lời về bài viết của bạn KimMinhAnh về tổng hợp lương các tháng vô trang tổng hợp

Liên hệ QC

SA_DQ

/(hông là gì!
Thành viên danh dự
Tham gia
8/6/06
Bài viết
14,321
Được thích
22,364
Nghề nghiệp
Nuôi ba ba & trùn quế
Mình thấy topic này http://www.giaiphapexcel.com/forum/...!!!Hướng-dẫn-cho-mình-lập-bảng-tổng-hợp-lương!!! do bạn ấy llập có nhiều vấn đề cần thảo luận;
Sau thời gian chuẩn bị các í kiến, quay lại thì topic đã vô sọt rác.

Tuy nhiên mình tiếc công sức nên lập ra topic này để nêu vài ý kiến để cùng thảo luận với KimMinhAnh & các bạn
Có thể để topic ở BOX này chưa hẵn đã hợp. Nếu có sơ sót các MOD/SMOD đem đến đúng chổ dùm

Về yêu cầu của bạn KimMinhAnh mình xin có vài góp ý sau:

(1) Danh sách nhân viên dù ít hay nhiều nên có mã nhân viên (duy nhất cho từng người). Hơn nữa danh sách của bạn biến động lớn càng fải có mã nhân viên.

(2) Bạn nên lấy 1 trang tính tạo & lưu dữ danh sách NLĐ đã vô cơ quan bạn. Danh sách này lưu nhiều năm.

Mỗi đầu nặm, bạn cần chép những người đang có mặt tại cơ quan bạn. Các tháng trong năm cần cập nhật những người mới về cơ quan để tổng hợp lương được đầy đủ.

(3) Theo ý ban đầu của bạn, bạn định tổng hợp theo dòng; Nhưng tôi đề nghị bạn tổng hợp theo cột (Như file đính kèm)
Lý do: Mỗi tháng bảng lương của bạn chỉ có 3 cột nhưng hơn 36 dòng (Hơn 36 nhiên viên)
Và tổng hợp như vậy rất tiện trong việc thống kê cho chúng ta.

Nếu bạn vẫn giữ ý đồ như ban đầu thì không fải không làm được. . . . . (Nhưng bạn cần đưa ra lý lẽ thuyết fục xem sao nha)



Đây là macro để chúng ta ngâm cứu
PHP:
Option Explicit
Sub TongHopLuong()
 Dim Sh As Worksheet, Rng As Range, sRng As Range, Clls As Range
 Dim eRw As Long, Thg As Byte
     
 Sheets("THop").Select
 eRw = [B65500].End(xlUp).Row
 [d11].Resize(eRw, 12 * 3).ClearContents
 For Each Clls In Range("B11:B" & eRw)
   For Each Sh In Worksheets
      If Sh.Name <> "HoSo" And Sh.Name <> "THop" Then
         Set Rng = Sh.[B10].Resize(eRw)
         Set sRng = Rng.Find(Clls.Value, , xlFormulas, xlWhole)
         If Not sRng Is Nothing Then
            Thg = Sh.[A6]
            Cells(Clls.Row, Thg * 3 + 1).Resize(, 3).Value = sRng.Offset(, 2).Resize(, 3).Value
         End If
      End If
   Next Sh
 Next Clls
End Sub
 

File đính kèm

  • GPE.rar
    27.8 KB · Đọc: 70
Tổng hợp lương các tháng vô trang tổng hợp. Nghe chữ tổng hợp lương, có vẻ như nhân sự tiền lương. Thực sự, tổng hợp lương hay bất cứ thứ gì từ nhiều sheet vào 1 sheet, đó là công việc xử lý dữ liệu. Do đó, tôi dời vào đúng chỗ của nó.
 
Web KT
Back
Top Bottom