tính lương sản phẩm công nhân may (1 người xem)

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

NguyenthiH

Thành viên mới đăng ký
Tham gia
11/12/16
Bài viết
965
Được thích
175
Giới tính
Nữ
Em có file này, xin chia sẻ vói mọi người, và mong mọi người đóng góp để file hoàn thiện.
Em xin cám ơn anh HieuCD và Thầy Batman1 đã giúp em (code trong file là của anh HieuCD và Thầy Batman1)
Em xin giải thích:
Sheet1: để nhập bảng giá công đoạn, nhập tên công nhân và tổ
Shhet2: nhập chi tiêt sản phẩm từng công nhân bằng Form( nhấn "Hiện Form")
Sheet3: xem theo tháng (gõ tháng vào A2) theo 3 bảng 1/ lương mã hàng theo tổ 2/lương chi tiết mã hàng từng công nhân 3/lương từng công nhân
Sheet4: Xem chi tiết từng công nhân theo tháng + tổ. (gõ tháng vào A2, chọn tổ ở B2 và chọn công nhân ở C2)
Có gì mong mọi người đóng góp.
 

File đính kèm

Lần chỉnh sửa cuối:
Em có file này, xin chia sẻ vói mọi người, và mong mọi người đóng góp để file hoàn thiện.
Em xin cám ơn anh HieuCD và Thầy Batman1 đã giúp em (code trong file là của anh HieuCD và Thầy Batman1)
Em xin giải thích:
Sheet1: để nhập bảng giá công đoạn, nhập tên công nhân và tổ
Shhet2: nhập chi tiêt sản phẩm từng công nhân bằng Form( nhấn "Hiện Form")
Sheet3: xem theo tháng (gõ tháng vào A2) theo 3 bảng 1/ lương mã hàng theo tổ 2/lương chi tiết mã hàng từng công nhân 3/lương từng công nhân
Sheet4: Xem chi tiết từng công nhân theo tháng + tổ. (gõ tháng vào A2, chọn tổ ở B2 và chọn công nhân ở C2)
Có gì mong mọi người đóng góp.
Mong là công nhân trong xưởng của bạn đừng bao giờ trùng tên. Và lỡ có trùng tên thì hy vọng họ sẽ không làm việc chung bộ phận. Nếu không thì quản lý số liệu mệt đấy
 
Ngành may nhiều lao động nữ & rất dễ trùng cả họ lẫn tên;
Ta nên có mã duy nhất cho CNV & nó bất di bất dịch trong suốt quá trình làm việc của người đó trong XN + 15 năm sau đó.
PHP:
[ATTACH type="full" alt="213792"]213792[/ATTACH]
 

File đính kèm

  • 1553184718666.png
    1553184718666.png
    29.1 KB · Đọc: 20
Dạ, đúng là trong xưởng em không có công nhân nào trùng tên.
Vậy Anh có thể giải quyết vấn đề này như thế nào ạ.
 
Dạ, đúng là trong xưởng em không có công nhân nào trùng tên.
Vậy Anh có thể giải quyết vấn đề này như thế nào ạ.
Tại sao trong công ty lại không có mã nhân viên nhỉ.Nếu có thì lấy mã nhân viên mà dùng cho đồng bộ dữ liệu.
 
Tại vì xưởng em chỉ hơn 100 công nhân, nên cũng chả có mã nhân viên làm gì.
Bởi vậy em mới đưa file lên, mong mọi người giúp hoàn thiên, và cũng hy vọng công ty em sẽ phát triển lên tầm 10.000 công nhân.
Vậy anh SA_DQ có thể cho code tự đông nạp mã duy nhất cho công nhân được không ạ.
 
Lần chỉnh sửa cuối:
Khi xưa mình có file; Nhưng giở tìm không thấy nữa rồi.
Hay bạn thử sức xem sao!
 
VBA nó biết em, nhưng em không biết nó anh ơi.
 
Dạ, đúng là trong xưởng em không có công nhân nào trùng tên.
Vậy Anh có thể giải quyết vấn đề này như thế nào ạ.
Nguyên tắc quản lý con người hay con gì cũng vậy. Phải đặt mã code cho từng người, hoặc từng món hàng mà chúng ta cần quản lý
Cũng giống như cả nước Việt Nam mỗi công dân đều mang một số chứng minh khác nhau. (có vài địa phương vẫn còn bị trùng số CMND)

Hiện tại công ty của bạn chỉ có khoảng 100 công nhân thì việc điều chỉnh còn khá dễ dàng. Nếu dự kiến phát triển đến 10 000 công nhân thì mã code nên có ít nhất 5 ký tự cho phần số đuổi. Ví dụ: ABC_00001, ABC_0002...... Mã số nhân viên phải có ít nhất 1 ký tự text phía trước nhé. Vài ý chia sẻ cho bạn.
 
Lần chỉnh sửa cuối:
Nguyên tắc quản lý con người hay con gì cũng vậy. Phải đặt mã code cho từng người, hoặc từng món hàng mà chúng ta cần quản lý
Cũng giống như cả nước Việt Nam mỗi công dân đều mang một số chứng minh khác nhau. (có vài địa phương vẫn còn bị trùng số CMND)
Trùng số này là do sai sót trong quá trình thực hiện.:D
 
Lúc trước có người trùng tên, thì em đã tự đặt cho khỏi trùng , ví dụ:
1/Nguyễn thị Oanh->Nguyễn thị Oanh 1
2/Nguyễn thị Oanh->Nguyễn thị Oanh 2
Vậy anh có thể giúp em được không?
 
Lần chỉnh sửa cuối:
Lúc trước có người trùng tên, thì em đã tự đặt cho khỏi trùng , ví dụ:
1/Nguyễn thị Oanh->Nguyễn thị Oanh 1
2/Nguyễn thị Oanh->Nguyễn thị Oanh 2
Vậy anh có thể giúp em được không?
Tôi không bao giờ đặt mã nhân viên như trên, vì nó dễ sai sót (ví dụ nhập 2 khoảng trắng) & khó quản lý.
Chia sẻ cách mà tôi đánh mã số nhân viên như sau: quản lý độ dài mã như nhau và duy nhất
Đầu tiên tôi phải xác định được trong 1 năm ( và những năm sau này) số lượng người xin vào làm cty khoảng bao nhiêu? ( giả sử số người xin vào làm không lớn hơn 999 người/năm)
1/ Xác định năm vào làm là năm 2019: tôi lấy 19
2/ Tùy người vào trước hay sau thì là 001 và tăng dần: ví dụ người đầu tiên thì 001
3/ Xác định năm sinh người đó: ví dụ sinh 1981 thì lấy 81
4/Xác định nam hay nữ thì lấy 1 hay 0, ví dụ nữ: 0
Sau đó lấy các số màu đỏ ghép lại là : 19001810 → như vậy đảm bảo không trùng, đồng thời bạn có thể nhìn mã số đọc sơ lược người này như làm bao lâu? già hay trẻ, nam hay nữ ...
Giả sử người trên bắt đầu làm ở phòng kế toán thì tôi ghi thêm đuôi 19001810-PKT, sau này chuyển sang phòng kinh doanh thì có thể đổi thành mã 19001810-PKD, đổi xuống tổ may 1 thì thành 19001810-TM1 ...( lưu ý mã đuôi cũng phải có lượng ký tự = nhau)
Trong trường hợp nhân viên nào nghỉ rồi xin vào làm thì tôi vẫn tạo mã mới (tuyệt đối không dùng mã của người này đã nghỉ để áp cho người khác)
Như vậy trong khoảng 100 trăm mới bị trùng, nhưng lúc đó người còn đâu và bảng tính Excel cũng biết phát triển thành cái gì rồi!
Chứ đừng đặt như Nguyễn Thị Hoa thành NTH thực tế nó chẳng gợi nhớ gì cho lắm, có thể ai đó đọc thành Nguyễn Thị Hôi!!!

Trường hợp bây giờ có thể bạn khó xác định ai vào làm việc năm nào, thì thôi xác định làm từ năm 2019 đi, tùy theo yêu cầu quản lý để có thể bạn thêm bớt, tuy nhiên các mã phải đồng nhất về số ký tự, nhưng đừng quá dài dòng ...
Thân!
 
cám ơn bạn Hong.Van, cách đặt mã số như bạn rât hay, vậy thì CSDL của mình phải thêm các trường : năm sinh, giới tính, ngày vào làm.
 
Em có file này, xin chia sẻ vói mọi người, và mong mọi người đóng góp để file hoàn thiện.
Em xin cám ơn anh HieuCD và Thầy Batman1 đã giúp em (code trong file là của anh HieuCD và Thầy Batman1)
Nói là code của tôi cũng không hẳn là vậy. Bạn đã có code nào đấy và tôi chỉ sửa vài chỗ, thêm thắt chứ không phải tôi viết hoàn chỉnh.

Nhìn i và irow, Darr() thì không là của tôi vì tôi thường dùng k (r, c), curr_row (lastRow), Arr(), result()

MsgBox "không có Ma~ công doan nŕy", , "Minh Tâm"


cũng là bạn có từ trước chứ sao tôi biết là "không có Ma~ công doan nŕy" và "Minh Tâm". Và khi tôi dùng MsgBox rhì không bao giờ dùng tiếng Việt có dấu.

Nhìn vd.
Mã:
If Target.Address = "$A$2" Then
    If Target.Value < 1 Or Target.Value > 12 Then Exit Sub
    If Sheets("Sheet2").Range("B65500").End(xlUp).Row <= 3 Then Exit Sub
    Dim Dic As Object, Darr(), Arr1(), Arr2(), Arr3(), i As Long, k1 As Long, k2 As Long, k3 As Long, tmp1 As String, tmp2 As String, tmp3 As String
Thì cũng không phải tôi viết, ít ra không phải là từ A đến Z, vì tôi luôn khai báo biến trước tất cả các dòng code thực thi.
 
Tôi không bao giờ đặt mã nhân viên như trên, vì nó dễ sai sót (ví dụ nhập 2 khoảng trắng) & khó quản lý.
Chia sẻ cách mà tôi đánh mã số nhân viên như sau: quản lý độ dài mã như nhau và duy nhất
Đầu tiên tôi phải xác định được trong 1 năm ( và những năm sau này) số lượng người xin vào làm cty khoảng bao nhiêu? ( giả sử số người xin vào làm không lớn hơn 999 người/năm)
1/ Xác định năm vào làm là năm 2019: tôi lấy 19
2/ Tùy người vào trước hay sau thì là 001 và tăng dần: ví dụ người đầu tiên thì 001
3/ Xác định năm sinh người đó: ví dụ sinh 1981 thì lấy 81
4/Xác định nam hay nữ thì lấy 1 hay 0, ví dụ nữ: 0
Sau đó lấy các số màu đỏ ghép lại là : 19001810 → như vậy đảm bảo không trùng, đồng thời bạn có thể nhìn mã số đọc sơ lược người này như làm bao lâu? già hay trẻ, nam hay nữ ...
Giả sử người trên bắt đầu làm ở phòng kế toán thì tôi ghi thêm đuôi 19001810-PKT, sau này chuyển sang phòng kinh doanh thì có thể đổi thành mã 19001810-PKD, đổi xuống tổ may 1 thì thành 19001810-TM1 ...( lưu ý mã đuôi cũng phải có lượng ký tự = nhau)
Trong trường hợp nhân viên nào nghỉ rồi xin vào làm thì tôi vẫn tạo mã mới (tuyệt đối không dùng mã của người này đã nghỉ để áp cho người khác)
Như vậy trong khoảng 100 trăm mới bị trùng, nhưng lúc đó người còn đâu và bảng tính Excel cũng biết phát triển thành cái gì rồi!
Chứ đừng đặt như Nguyễn Thị Hoa thành NTH thực tế nó chẳng gợi nhớ gì cho lắm, có thể ai đó đọc thành Nguyễn Thị Hôi!!!

Trường hợp bây giờ có thể bạn khó xác định ai vào làm việc năm nào, thì thôi xác định làm từ năm 2019 đi, tùy theo yêu cầu quản lý để có thể bạn thêm bớt, tuy nhiên các mã phải đồng nhất về số ký tự, nhưng đừng quá dài dòng ...
Thân!
Đúng là gần 100 năm, khi đó virut 3K sẽ mệt với mã này... cũng nên để ý tới lúc đó không dùng excel nữa, nhưng mã thì vẫn phải dùng, thêm 2 con số có vấn đề chi? 2019........
 
Lần chỉnh sửa cuối:
Lúc trước có người trùng tên, thì em đã tự đặt cho khỏi trùng , ví dụ:
1/Nguyễn thị Oanh->Nguyễn thị Oanh 1
2/Nguyễn thị Oanh->Nguyễn thị Oanh 2

Đúng là chưa thấy quan tài, chưa đõ lệ!
Đem danh sách loại này ra BHXH thì người ta sổ toẹt cho coi;

Nên nhờ chỉ có Thủ tướng hay được Thủ tướng ủy quyền mới đổi tên cho 1 công dân VN thôi đó nha!

Còn chuyện tạo bộ mã như mình gợi ý, thì bạn thử thực hiện sau khi lục lọi trên diễn đàn vấn đề lấy chữ cái đầu của họ tên xem sao.
Chúc thành công!
 
Giả sử người trên bắt đầu làm ở phòng kế toán thì tôi ghi thêm đuôi 19001810-PKT, sau này chuyển sang phòng kinh doanh thì có thể đổi thành mã 19001810-PKD, đổi xuống tổ may 1 thì thành 19001810-TM1 ...( lưu ý mã đuôi cũng phải có lượng ký tự = nhau)

Tuyệt đối không nên đổi mã nhân viên trong suốt quá trình làm việc bất kể họ có thay đổi bộ phận.
Mã NV đi kèm toàn bộ thông tin của nhân viên như : nhân thân, quá trình làm việc, quá trình thiên chuyển, lương v.v.. chẳng lẻ năm trước xuất lương cho mã NV này mấy năm sau xuất lương cho môt mã NV khác nhưng của cùng một người. Rồi bạn theo dõi truy vấn các thông tin liên quan nhân viên này kiểu gì? Chẳng lẻ khi đổi mã NV mới phải cập nhật lại toàn bộ mã NV liên quan ở các bảng dữ liệu khác.
Ví dụ: Bạn theo dõi quá trình tăng lương của NV như thế nào? năm 2018, mã "NV001_PKD": lương 1.000.000đ, năm 2019: NV001_PHC lương 1.200.000đ -> khi tổng hợp dữ liệu bạn phải dùng hàm cắt chuỗi lấy phần "NV001" rồi mới truy vấn à? tạo thêm công ăn chuyện làm cho CPU xử lý.
Cách phối hợp để tạo mã NV của bạn cũng rất hay rồi chỉ có cái là không cần thêm phòng ban và thay đổi mã.
 
Lần chỉnh sửa cuối:
(A) Đầu tiên tôi phải xác định được trong 1 năm ( và những năm sau này) số lượng người xin vào làm cty khoảng bao nhiêu? (. . . . )
1/ Xác định năm vào làm là năm 2019: tôi lấy 19
2/ Tùy người vào trước hay sau thì là 001 và tăng dần: ví dụ người đầu tiên thì 001
3/ Xác định năm sinh người đó: ví dụ sinh 1981 thì lấy 81
4/Xác định nam hay nữ thì lấy 1 hay 0, ví dụ nữ: 0
Sau đó lấy các số màu đỏ ghép lại là : 19001810 → như vậy đảm bảo không trùng, đồng thời bạn có thể nhìn mã số đọc sơ lược người này như làm bao lâu? già hay trẻ, nam hay nữ ...

(B) Chứ đừng đặt như Nguyễn Thị Hoa thành NTH thực tế nó chẳng gợi nhớ gì cho lắm, có thể ai đó đọc thành Nguyễn Thị Hôi!!! . . .

(A1) Như bạn thì mã là những con số được tổ hợp lại
Nhược điểm trong Excel sẽ là vô là năm 2000 sẽ là 00000701 Mấy con số "O" đó sẽ có lúc quậy bạn thất kinh luôn (trong Excel tài lanh về kí tự đại diện) cho mà xem
[Lấy 1 ví dụ cần lọc ra các em HS lợp 10A1, mà trường đó có lớp 10A10 hay .. . . 10A13,. . . nó đều lọc ra tuốc cho mà coi!]

(A2) Khi xài với mã thì chuyện tìm kiếm nhóm người cùng năm sinh hay cùng vô CQ cùng 1 năm là dễ
Nhưng cần tìm những người cùng họ hay cùng tên (thông qua mã) sẽ là không tưởng
Điều này nếu áp vô bộ mã bạn đang phê phán sẽ dễ hơn nhiều

(B1) Nó gợi nhớ hơn bộ mã của bạn là cái chắc
Vì để xác định 1 con người ta đều trước tiên, từ xa xưa đến này, đều thông qua cái tên, cái họ tộc của người í; Sau đó mới sinh năm mậu tuất hay canh dần,. . . . (có khi chỉ là hạn hẹp trong 12 con giáp mà thôi)

(B2) Bạn có tin không, với bộ mã ABCZZ như mình đề xuất có thể quản lý trường có 1 vạn HS đang học cùng với chục vạn đã đi khỏi trường còn được. (ZZ tương đương 36*36 đó bạn)
. . . . .
Thân ái!
 
Đúng là gần 100 năm, khi đó virut 3K sẽ mệt với mã này... cũng nên để ý tới lúc đó không dùng excel nữa, nhưng mã thì vẫn phải dùng, thêm 2 con số có vấn đề chi? 2019........
Như đã nói ở trên, Ví dụ người đi làm bắt đầu 20 tuổi + 100 năm sau =120 năm → người đó còn hay chết, nếu còn thì chắc lết
Mặt khác tại VN tôi vẫn chưa thấy có cty nào tồn tại trên 100 năm.
(A1) Như bạn thì mã là những con số được tổ hợp lại
Nhược điểm trong Excel sẽ là vô là năm 2000 sẽ là 00000701 Mấy con số "O" đó sẽ có lúc quậy bạn thất kinh luôn (trong Excel tài lanh về kí tự đại diện) cho mà xem
[Lấy 1 ví dụ cần lọc ra các em HS lợp 10A1, mà trường đó có lớp 10A10 hay .. . . 10A13,. . . nó đều lọc ra tuốc cho mà coi!]
Cái này em đã nghĩ đến rồi anh ạ! vì em thấy nó đã qua năm 2010 rồi nên em mới đặt như vậy, trong trường hợp nó là số 0 ở đằng trước thì bắt buộc phải có 1 ký tự ở trước như của anh quanghai1969 (bài #10), vì bây giờ đã qua 2010 nên em mới nói như vậy. Mặt khác em có nói tất cả các mã phải đồng nhất về số ký tự mà
Trường hợp anh nói như trên thì những ai đã dùng Filter là biết ngay
Vì sao em lập như vậy:
1/ Thông thường bên giám đốc hay lệnh
Ví dụ kỷ niệm 5 năm thành lập cty, ai làm từ 4-5 năm thưởng 10% lương, ... hoặc tăng lương
2/ Khi tìm mã nhân viên hay mã hàng hóa thì em dùng Form VBA nên không cần tên gợi nhớ
Lúc trước có người trùng tên, thì em đã tự đặt cho khỏi trùng , ví dụ:
1/Nguyễn thị Oanh->Nguyễn thị Oanh 1
2/Nguyễn thị Oanh->Nguyễn thị Oanh 2
Vậy anh có thể giúp em được không?
Còn cách đặt mã như bài trên thì
(a) Trong quá trình nhập dư khoảng trắng thì sao
(b) tối kỵ mã có dấu tiếng Việt + Font và chữ tiếng Việt càng chết
(c) Mỗi lần có người mới phát sinh thì phải dò xem đây là tên duy nhất hay có trùng với ai không để đánh thêm số 1 hay 2 ...
Tuyệt đối không nên đổi mã nhân viên trong suốt quá trình làm việc bất kể họ có thay đổi bộ phận.
Mã NV đi kèm toàn bộ thông tin của nhân viên như :
Cách đặt mã phụ này tui thường áp dụng cho thông tin lớp, ví dụ: năm nay học lớp 11P1 thì 19001011-11P1 sang năm em này có lên được lớp 12P1 thì đổi mã phụ cho dễ quản lý (thông thường là hết năm thay đổi 1 lần)
Tóm lại: cách đặt mã thì tùy theo mỗi người thấy thuận lợi theo cách của mình, chỉ cần nó là duy nhất và có lượng ký tự như nhau
Thân!
 
Cách đặt mã phụ này tui thường áp dụng cho thông tin lớp, ví dụ: năm nay học lớp 11P1 thì 19001011-11P1 sang năm em này có lên được lớp 12P1 thì đổi mã phụ cho dễ quản lý (thông thường là hết năm thay đổi 1 lần)
Tóm lại: cách đặt mã thì tùy theo mỗi người thấy thuận lợi theo cách của mình, chỉ cần nó là duy nhất và có lượng ký tự như nhau
Thân!

:) đúng là cách đặt mã tuỳ theo mỗi nguòi và thuận lợi nhất cho họ nhưng phải đảm bảo sự chuẩn hoá và tính toàn vẹn dữ liệu.
Đối với quản lý học sinh cũng vậy, khi cần truy vấn quá trình học 3 năm liên tiếp của học sinh này thì phải là có 3 mã để xử lý cho 1 học sinh không? công thức bạn phải thêm phần xử lý chuỗi [mã học sinh] nữa đúng không?
Tôi dám chắc với bạn không có phần mềm quản lý nào có tính năng hoặc cho phép thay đổi mã đối tượng (Primary key) quản lý nào đó trong cơ sở dữ liệu đâu. Còn mã phụ thì đã là mã phụ rồi, không phải là mã chính. :-)
 
Lần chỉnh sửa cuối:
:) đúng là cách đặt mã tuỳ theo mỗi nguòi và thuận lợi nhất cho họ nhưng phải đảm bảo sự chuẩn hoá và tính toàn vẹn dữ liệu.
Đối với quản lý học sinh cũng vậy, khi cần truy vấn quá trình học 3 năm liên tiếp của học sinh này thì phải là có 3 mã để xử lý cho 1 học sinh không? công thức bạn phải thêm phần xử lý chuỗi [mã học sinh] nữa đúng không?
Tôi dám chắc với bạn không có phần mềm quản lý nào có tính năng hoặc cho phép thay đổi mã đối tượng (Primary key) quản lý nào đó trong cơ sở dữ liệu đâu. Còn mã phụ thì đã là mã phụ rồi, không phải là mã chính. :)
Nói phần mềm thì nó to tát quá (đang nói ứng dụng của Excel thôi)
Ví dụ nói ứng dụng trong kế toán, trước đây tôi cũng đi theo lối mòn mỗi tháng thì có 1 file, nhưng như vậy thì quá cực, vì
Mỗi tháng 1 file, tháng sau là 1 file khác, mỗi lần như vậy phải lấy số dư đầu kỳ và cực nhất là khi có điều chỉnh gì ( ví dụ hiện nay đã là tháng 12 mà tháng 1 bị sai thì phải điều chỉnh từ tháng 1 như vậy phải điều chỉnh xuyên suốt các file từ tháng 01 → 12. Sau này tôi tích hợp các tháng trong 1 năm để thành 1 file trong năm, sang năm mới tôi dùng file mới ( tôi nghỉ trong 1 năm đã nhiều record rồi, nếu 1 file dùng cho nhiều năm chắc khi chạy excel thì nó bò không nỗi) nên thường đầu năm tôi có một số điều chỉnh cho phù hợp
Nói lại mỗi người làm sao cách quản lý cho chính xác- nhanh - thuận tiện là được (học những ưu điểm ở những phương án khác nhau để có thể áp dụng cho mình và biết những khuyết để tránh)
Thân!
 
Đúng là chưa thấy quan tài, chưa đõ lệ!
Đem danh sách loại này ra BHXH thì người ta sổ toẹt cho coi;

Nên nhờ chỉ có Thủ tướng hay được Thủ tướng ủy quyền mới đổi tên cho 1 công dân VN thôi đó nha!

Còn chuyện tạo bộ mã như mình gợi ý, thì bạn thử thực hiện sau khi lục lọi trên diễn đàn vấn đề lấy chữ cái đầu của họ tên xem sao.
Chúc thành công!
em có tìm trên DD, và thấy ở link http://www.giaiphapexcel.com/dienda...-theo-chức-danh-và-cửa-hàng.45340/post-812922
Nhưng code của anh SA_DQ là trên hai cột (họ đệm và tên) còn của em là một cột. Mong anh chỉnh dùm code
 
Trong file bài đó có hàm này mà:
PHP:
Function TachTen(HoTen As String) As String
Dim ViTri As Byte

HoTen = Trim(HoTen)
If HoTen = "" Then
    TachTen = ""
Else
    ViTri = InStrRev(HoTen, " ", Len(HoTen))
    If ViTri = 0 Then
        TachTen = HoTen
    Else
        TachTen = Mid(HoTen, ViTri + 1)
    End If
End If
End Function

Bạn có thể tùy biến thử kiểm xem; Hàm sau tùy biến sẽ tách phần họ đềm riêng, tên riêng nè!

Mã:
Function TachTen(HoTen As String, Optional Ten As Boolean = True) As String
Dim ViTri As Byte

HoTen = Trim(HoTen)
If HoTen = "" Then
    TachTen = ""
Else
    ViTri = InStrRev(HoTen, " ", Len(HoTen))
    If ViTri = 0 Then
        TachTen = HoTen
    Else
        If Ten Then
            TachTen = Mid(HoTen, ViTri + 1)
        Else
            TachTen = Left(HoTen, ViTri)   '  - 1 ?  '
        End If
    End If
End If
End Function

Kể ra cũng chịu khó đó nhỉ!
 
Lần chỉnh sửa cuối:
Của em là một cột chung cả họ lẫn tên thì sao anh SA_DQ?
Em không muốn tách họ riêng, tên riêng.
 
Lần chỉnh sửa cuối:
Em tìm rồi nhưng không thấy
Mục đích thêm mã nhân viên của bạn là gì? Nếu chỉ nhìn cho chuyên nghiệp một chút thì không cần thiết
Trong lập trình, tổ chức dữ liệu phải xác định trường khóa chính để phân biệt và xác định các mẫu tin, khi trường khóa chính khó xác định mới cần tới mã. Nếu bạn xử lý thủ công bằng các hàm như Vlookup, Sumif ... mới cần các mã để dùng công thức dể hơn
Họ tên là mã định danh được xử dụng mấy nghìn năm nhằm xác định các cá nhân tới giờ vẫn dùng tốt, chỉ cần đảm bảo 2 người khác nhau phải có họ tên khác nhau, thêm vài lệnh kiểm tra trùng họ tên là ổn
File của bạn có mã nhân viên hoặc không có mã nhân viên vẫn hoạt động như nhau
 
Lần chỉnh sửa cuối:
Kết lại: theo tôi, mã nhân viên/ học sinh/sinh viên nên là 1 con số, và không nhất thiết phải làm theo tên hay họ tên làm chi cho cực sau này

Như đã nói ở trên, Ví dụ người đi làm bắt đầu 20 tuổi + 100 năm sau =120 năm → người đó còn hay chết, nếu còn thì chắc lết
Mặt khác tại VN tôi vẫn chưa thấy có cty nào tồn tại trên 100 năm.

Không cần đến công ty trăm năm đâu, đầy người làm việc qua 2 thế kỷ, ví dụ thế hệ 6x, 7x, 8x vvv nên không thể nói công ty 100 năm hay người trên 100 tuổi
 
Cám ơn anh HieuCD đã chỉ giáo, tại vì em thấy các anh khác nói là:
Nếu ngày mai, hay trong tương lai trùng tên thì sao?
Mong là công nhân trong xưởng của bạn đừng bao giờ trùng tên. Và lỡ có trùng tên thì hy vọng họ sẽ không làm việc chung bộ phận. Nếu không thì quản lý số liệu mệt đấy
nên em cũng theo để kiếm code đặt mã nhân viên. Mà nếu có đặt mã nhân viên xong, lại phải làm phiền anh HieuCD chỉnh code lại nữa. Vì code của anh là tìm theo tên. Em chỉ là thư ký tính lương cho một xưởng may cỡ hơn 100 người, nên nếu có trùng tên thì em làm như cách bài #12.
Em cám ơn các anh rất nhiều. Em đưa File lên để có ai cần thì lấy và có thể hoàn thiện nó tốt hơn.
 
Của em là một cột chung cả họ lẫn tên thì sao anh SA_DQ?
Em không muốn tách họ riêng, tên riêng.
Có 2 cách tùy chọn như sau:

(1) Tham khảo macro đã có mà tự viết tiếp để nó tao mã cho bạn từ cột [Ho & Ten]
(2) Tạm tách ra thêm làm 2 cột [HoDem] & [Ten]
Chạy macro đã sẵn trong file; Xong rồi ta xóa bén 2 cột tạm í đi.

Chịu khó tự làm đi & mình vẫn khuyên là CSDL nhân sự dù nhỏ đến cực nhỏ cũng cần có mã.
Thứ nhất tránh những sai sót ngớ ngẫn trong quá trình nhập liệu.
Tìm kiếm cũng dễ mà
Mọi thao tác với CSDL đều thông qua mã này, nhằm không biến CSDL của bạn thành đóng rác trong tương lai.
 
Liên quan đến lương sản phẩm ngành may, tôi có vài ý kiến như sau:
1- danh sách chấm công: Lao động trong 1 chuyền sản xuất thường biến động, mỗi tháng số lượng và danh sách đều khác nhau >>> cần tạo mã công nhân để đảm bảo chính xác, cuối năm còn tập hợp lương để làm rất nhiều vấn đề, trong đó có thuế TNCN
2-Trong tháng 1 chuyền sx nhiều mã hàng, mỗi mã hàng có nhiều công đoạn với đơn giá khác nhau. 1 mã có thể có nhiều chuyền sản xuất >>> cần có bảng giá cho từng công đoạn theo từng mã hàng riêng biệt
3- Sản lượng để thanh toán lương cho công nhân theo hàng nhập kho cuối cùng của cả tổ, không tính hàng dở dang trên chuyền hay cứ bộ phận nào làm được bao nhiêu thanh toán bấy nhiêu>>> nếu chính xác từng chi tiết thì thật tuyệt vời ( 1 mã hàng có 1000 sp, 2 người làm chung, báo năng suất có thể khác 1000 sp )
4- nếu 1 mã hàng có 100 tiểu tác, sản lượng 100.000 sp sản xuất ở 2 tổ sx trong 3 tháng, kiểm soát làm sao để cuối cùng khi thanh toán kết thúc mã hàng mỗi tiểu tác đảm bảo chỉ thanh toán đúng 100.000 sp cho rất nhiều người cùng làm 1 tiểu tác này trong khi có thể người làm tháng đầu tiên đã thanh toán xong và đã nghỉ....
5- mỗi ngày đều nhập liệu cho từng tiểu tác, cho từng người. với 100 lao động x 2 mã hàng x 100 tiểu tác, như vậy 1 ngày cần bao nhiêu dòng dữ liệu được nhập>> tốn bao nhiêu nhân lực cho việc nhập liệu ???
Tôi đã từng thiết kế bảng chấm công, bảng thanh toán lương và toàn bộ dữ liệu nhân sự, ngày công được cập nhật tự động. phần lương sản phẩm tôi quy định 1 tiểu tác gán cố định cho 1 hoặc nhiều người >> khi chốt sản lượng làm lương thì cả 100.000 sp được thanh toán cho 1 người hoặc số người được phân công ban đầu. trong quá trình sản xuất nếu bộ phận nghỉ người khác làm thay >>> chỉ cần chốt sản lượng của người làm thay và trừ vào bộ phận chính khi thanh toán lương.
Nếu bạn nào quan tâm thảo luận ta trao đổi cụ thể hơn.
 
Quy mô cty anh quá lớn. Cty em chỉ hơn 100 công nhân một xưởng. Em chỉ là thư ký tính lương một xưởng. Một mã hàng chỉ cỡ khoảng 4-5 ngàn SP (lâu lâu mới có mã hàng được 40-50 ngàn SP) và trong một mã hàng có không quá 25 công đoạn. Tất nhiên trong khi may sẽ có số lượng dư ra (ví dụ như mã hàng DB001 có số lượng sản phẩm là 1000 quần, nhưng khi cộng sổ của công đoạn vào dây kéo là 1050 quần- dư ra 50 quần, lúc này em sẽ đối chiếu với số bó của px cắt, ví dụ anh A may từ bó 20->25 mà ghi sổ là 350 quần thì biết ảnh đã ghi lố 50 quần, vì bó 20->25 của px cắt chỉ có 300 quần). Và làm tới đâu ăn tới đó. Có thể một mã hàng may xong trong 2 hoặc 3 tháng. Có gì mong mọi người thảo luận.
 
Quy mô cty anh quá lớn. Cty em chỉ hơn 100 công nhân một xưởng. Em chỉ là thư ký tính lương một xưởng. Một mã hàng chỉ cỡ khoảng 4-5 ngàn SP (lâu lâu mới có mã hàng được 40-50 ngàn SP) và trong một mã hàng có không quá 25 công đoạn. Tất nhiên trong khi may sẽ có số lượng dư ra (ví dụ như mã hàng DB001 có số lượng sản phẩm là 1000 quần, nhưng khi cộng sổ của công đoạn vào dây kéo là 1050 quần- dư ra 50 quần, lúc này em sẽ đối chiếu với số bó của px cắt, ví dụ anh A may từ bó 20->25 mà ghi sổ là 350 quần thì biết ảnh đã ghi lố 50 quần, vì bó 20->25 của px cắt chỉ có 300 quần). Và làm tới đâu ăn tới đó. Có thể một mã hàng may xong trong 2 hoặc 3 tháng. Có gì mong mọi người thảo luận.
To NguyenthiH
Bạn thanh toán lương thế nào khi:
ngày 1 đầu tháng có dữ liệu như sau: Mã hàng 1: nhập kho =1000 sp, dở dang 1000 sp trong đó: tiểu tác 1 đã kết thúc, tiểu tác 2 còn 500....
mã hàng 2 bắt đầu vào sx ở tháng trước đã làm tiểu tác 1=200, tiểu tác 2=100....
Ngày cuối tháng: mã hàng N: đã nhập kho 500, dở dang....
và như ban đầu tôi thừa nhận nếu chính xác chi tiết từng tiểu tác thì thật tuyệt vời, nhưng thực tế không thể như vậy: công nhân A đã may hoàn chỉnh cả mã hàng rồi nghỉ (ốm hoặc lý do khác) bộ phận làm chung sẽ có hiện tượng báo vênh sản lượng, sau đó hàng hỏng phải sửa chữa, bộ phận làm chung hoặc người khác gánh việc sửa hàng... thanh toán lương thế nào khi những vấn đề này thường xuyên xảy ra ????
 

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

Back
Top Bottom