Nhờ các chuyên gia trợ giúp file Thông báo đóng BHXH,BHTN,BHYT (1 người xem)

Liên hệ QC

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

luuvantam

Thành viên mới
Tham gia
16/11/07
Bài viết
18
Được thích
15
Kính gửi: Anh/Chị trên diễn đàn
Cơ quan mình yêu cầu hàng năm làm thông báo kết quả đóng BHXH,BHYT,BHTN như trong file đính kèm để gửi cho từng NLĐ.
Mình có sheet Data theo dõi dữ liệu, thông tin đóng BHXH của CBNV theo từng tháng (mỗi tháng một cột), giờ mình làm thông báo kết quả đóng BHXH trong đó có tổng hợp từng khoảng thời gian trong năm như mẫu trong Sheet Thông báo. Nhờ các chuyên gia giúp đỡ ạ.
Chân thành cảm ơn.
 

File đính kèm

Lần chỉnh sửa cuối:
bạn làm tay thử 1 người rồi gởi lên xem sao???
 
Upvote 0
Em gửi lại file đính kèm có làm thử 1 trường hợp và có ghi chú. Cập nhật file đính kèm tại bài #1
 
Upvote 0
Kính gửi: Anh/Chị trên diễn đàn
Cơ quan mình yêu cầu hàng năm làm thông báo kết quả đóng BHXH,BHYT,BHTN như trong file đính kèm để gửi cho từng NLĐ.
Mình có sheet Data theo dõi dữ liệu, thông tin đóng BHXH của CBNV theo từng tháng (mỗi tháng một cột), giờ mình làm thông báo kết quả đóng BHXH trong đó có tổng hợp từng khoảng thời gian trong năm như mẫu trong Sheet Thông báo. Nhờ các chuyên gia giúp đỡ ạ.
Chân thành cảm ơn.

Bạn tạo lại mẫu rồi dùng chức năng trộn thư là xong rồi.muốn gửi cho ai thì nhập số thứ tự của người đó là ok
 
Upvote 0
Kính gửi: Anh/Chị trên diễn đàn
Cơ quan mình yêu cầu hàng năm làm thông báo kết quả đóng BHXH,BHYT,BHTN như trong file đính kèm để gửi cho từng NLĐ.
Mình có sheet Data theo dõi dữ liệu, thông tin đóng BHXH của CBNV theo từng tháng (mỗi tháng một cột), giờ mình làm thông báo kết quả đóng BHXH trong đó có tổng hợp từng khoảng thời gian trong năm như mẫu trong Sheet Thông báo. Nhờ các chuyên gia giúp đỡ ạ.
Chân thành cảm ơn.
ban thay đổi năm (đúng theo kiểu nhập của bạn), hoặc chọn danh sách tên nhân viên mới code sẽ tự chạy
khi áp dụng vào file của bạn, phải chạy code Tao_List để tạo danh sách nhân viên
 

File đính kèm

Upvote 0
Em cảm ơn anh HieuCD, file anh làm gần như đúng với ý của em. Tuy nhiên có vấn đề là ví dụ trong 1 năm người này bắt đầu đóng BHXH vào khoảng giữa năm thì mình chỉ bắt đầu liệt kê từ tháng họ đóng BHXH, những tháng chưa đóng thì không liệt kê ra được không ạ.

ban thay đổi năm (đúng theo kiểu nhập của bạn), hoặc chọn danh sách tên nhân viên mới code sẽ tự chạy
khi áp dụng vào file của bạn, phải chạy code Tao_List để tạo danh sách nhân viên
 
Upvote 0
Đây là file ví dụ, nhưng các file dạng này bạn nên đưa file gốc lên (Xóa bớt và thay đổi nọi dung đi là được). Còn đưa dạng này thì bạn phải tự làm được chỉ cần tham khảo phương án của anh em. Khi xây dựng file nên lưu ý để đáp ứng 1 số yêu cầu sau:

1/Phải thay đổi được đơn vị sử dụng để có thể áp dụng cho Doanh nghiệp bất kỳ (Kế toán thường làm thêm, tăng ca nhiều DN)
2/Phải thay đổi được tỷ lệ đóng theo luật định và các khoản phụ thu (Nếu có): Nếu có thay đổi trong năm thì vẫn có thể linh hoạt.
3/Phải thay đổi chức vụ tiền lương: Trong năm việc điều chuyển là bình thường.
4/Phải có theo dõi việc thu nộp hay công nợ tồn tại để thông báo và đon đóc công nợ.
 
Upvote 0
Em cảm ơn anh HieuCD, file anh làm gần như đúng với ý của em. Tuy nhiên có vấn đề là ví dụ trong 1 năm người này bắt đầu đóng BHXH vào khoảng giữa năm thì mình chỉ bắt đầu liệt kê từ tháng họ đóng BHXH, những tháng chưa đóng thì không liệt kê ra được không ạ.
bạn chỉnh lại code
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Union(Range("A2"), Range("C4"))) Is Nothing Then
On Error GoTo Thoat
Dim Darr(), CN(), Arr(1 To 100, 1 To 4), Dic As Object, i As Integer, j As Integer, k As Byte
Set Dic = CreateObject("Scripting.Dictionary")
nam = Val(Right(Cells(2, 1), 4))
With Sheets("Data")
    Darr = .Range("A2", .Range("A65500").End(xlUp)).Resize(, .Range("A2").End(xlToRight).Column).Value
End With
ReDim CN(1 To UBound(Darr))
For i = 2 To UBound(Darr)
    CN(i) = Darr(i, 2) & " " & Darr(i, 3)
    If Dic.exists(CN(i)) Then CN(i) = CN(Dic.Item(CN(i))) & " "
    Dic.Item(CN(i)) = i
Next i


i = Dic.Item(Range("C4").Value)
Range("B4") = Darr(i, 7)
Range("C5") = Darr(i, 10)
Range("C6") = Format(Darr(i, 4), String(Len(Darr(i, 4)), "0"))
'Range("C7") = ???
For j = 17 To UBound(Darr, 2)
[COLOR=#ff0000]    If Year(Darr(1, j)) = nam And Darr(i, j) > 0 Then[/COLOR]
        If (Darr(i, j) <> Darr(i, j - 1) Or k = 0) Then
            k = k + 1:  dk = True
            Arr(k, 1) = DateSerial(nam, Month(Darr(1, j)), 1)
            Arr(k, 3) = Darr(i, 9)
            Arr(k, 4) = Darr(i, j)
        End If
        If Darr(1, j) = DateSerial(nam, 12, 1) Then
            Arr(k, 2) = DateSerial(nam, 12, 1)
        Else
            If Darr(i, j) <> Darr(i, j + 1) Then Arr(k, 2) = DateSerial(nam, Month(Darr(1, j)), 1)
        End If
    End If
Next j
Set Dic = Nothing
Range("A11:D100").ClearContents
If k > 0 Then Range("A11").Resize(k, 4) = Arr
End If
Thoat:
End Sub
 
Upvote 0
Em cảm ơn anh HieuCD nhiều. Chúc anh và gia đình năm mới nhiều sức khỏe, thành đạt và hạnh phúc.
 
Upvote 0
Web KT

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

Back
Top Bottom