Nhở giúp code các yêu cầu tiếp theo (2 người xem)

Liên hệ QC

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

hoangmai2605

Thành viên chính thức
Tham gia
27/2/09
Bài viết
92
Được thích
11
Chào các bạn trong diễn đàn excel.
Tôi đang làm 1 file excel về phân ca trực và tổng hợp về loại ca của nhân viên.
Bạn Concogia đã giúp Tôi code cho yêu cầu đầu tiên. Rất cảm ơn về sự giúp đỡ của bạn.
Các yêu cầu Tôi đã trình bày chi tiết trong file đính kèm. Yêu cầu của nút "Phân ca làm việc tự động" Tôi vừa mò mẫm thực hiện được rồi ạ. Bây giờ đến yêu cầu cho nút "Đồng ý phân ca làm việc NV" khó quá Tôi chưa mò ra.
Mong nhờ các Anh Chị rành viết code giúp Tôi để Tôi có thể học hỏi cũng như phục vụ cho công việc đang phải làm thủ công hiện tại
Chân thành cám ơn các Anh Chị và mong sớm nhận được sự chỉ dẫn​
 

File đính kèm

Lần chỉnh sửa cuối:
Theo tôi, với yêu cầu như trong bài của bạn thì không cần VBA, dùng công thức cũng giải quyết tốt (xem file).
Góp ý thêm với bạn:
Để đơn giản, dễ nhìn, dễ hiểu, dễ xử lý dữ liệu nên tổ chức lại dữ liệu (từ K1-Q3, không Merge Cells) sẽ tiện cho chính bạn hơn (đã sửa trong file đính kèm).
 

File đính kèm

Lần chỉnh sửa cuối:
Theo tôi, với yêu cầu như trong bài của bạn thì không cần VBA, dùng công thức cũng giải quyết tốt (xem file).

Cám ơn bạn đã góp ý. Nhưng bạn ơi, sau khi chọn NV, lick nút "Phân ca làm việc tự động" thì sẽ được Lịch phân ca tạm thời rồi sau đó sẽ được sửa đổi lại cho phù hợp. Chỉ khi nào lick "Đồng ý phân ca làm việc NV" thì mới là Lịch phân ca chính thức và mới được đưa dữ liệu vào bảng bên dưới. Cho nên Tôi muốn thực hiện VBA để theo đúng tiến trình thực hiện.
Mong các bạn tiếp tục giúp Tôi viết code VBA ạ.
Mong sớm nhận được hồi âm của bạn để Tôi tiếp tục hoàn thiện file này.
Thân chào Bạn.
 
Chỉ khi nào lick "Đồng ý phân ca làm việc NV" thì mới là Lịch phân ca chính thức và mới được đưa dữ liệu vào bảng bên dưới..
Không biết bạn đã xem kỹ file chưa? Khi bạn sửa lịch phân ca ở bên trên thì bên dưới cũng tự động thay đổi theo mà?
 
Vâng xin lỗi do chưa xem kỹ. Cám ơn bạn nhiều nhé
Thân chào bạn
 
A, bạn copy ô L8 dán xuống các ô L9-L18 hộ cái, hình như công thức bị nhầm vài ô trong cột L thì phải.
 
Chào Bạn,
Bạn ơi, Tôi vẫn thực hiện viết code VBA cho nút lệnh. Khi run thì không biết sai ở chỗ nào trong code mà bị sai vị trí cột khi tiến hành ghi dữ liệu từ bảng trên xuống bảng dưới (dù Tôi đã dùng debug kiểm tra biến). Bạn chỉ giúp Tôi nhé.
Ở khúc sau của bảng (Cột AH trở đi), Tôi muốn thống kê tên những người làm ở 1 ca nào đó thông qua nút "Thống kê" nhưng chưa mò được. Các bạn cứu bồ Tôi với ạ
Cảm ơn bạn và các bạn nhiều lắm ạ,
 

File đính kèm

1) Bạn thay dòng này:
Range("A1").Offset(I - 1, J - 1).Value = Cll.Offset(2).Value
Bởi dòng này:
Cells(I, J).Value = Cll.Offset(2).Value
Xem sao.

2) Ở khúc sau của bảng (Cột AH trở đi)... : Chưa hiểu ý bạn muốn gì.
 
Bạn xài thử cái ni & những mong là không fải đưa file lên

Ở khúc sau của bảng (Cột AH trở đi), Tôi muốn thống kê tên những người làm ở 1 ca nào đó thông qua nút "Thống kê" nhưng chưa mò được. Các bạn cứu bồ Tôi với ạ
Cảm ơn bạn và các bạn nhiều lắm ạ,


PHP:
Option Explicit
Sub ThongKe()
 Dim Rng As Range, sRng As Range, Rtg As Range
 Dim Col As Byte, Rws As Long
 Dim MyAdd As String
 
 Col = [b6].End(xlToRight).Column
 Rws = [a65500].End(xlUp).Row:              Set Rng = [A8].Resize(Rws, Col)
 [Ah7].CurrentRegion.Offset(1).ClearContents
 Set sRng = Rng.Find([aI5].Value, , xlFormulas, xlWhole)
 If Not sRng Is Nothing Then
    MyAdd = sRng.Address
    Do
        With [ah9999].End(xlUp).Offset(1)
            .Value = Cells(sRng.Row, "A").Value
            .Offset(, 1).Value = Cells(6, sRng.Column).Value
        End With
        Set sRng = Rng.FindNext(sRng)
    Loop While Not sRng Is Nothing And sRng.Address <> MyAdd
 End If
End Sub
 
Tôi muốn thống kê những người làm việc suốt 1 khoảng thời gian nữa các bạn ơi (Tôi sẽ tô màu khoàng thời gian như trường hợp theo ca làm việc đó). Muốn ra danh sách chỉ tên những người làm việc liên tục không nghĩ tuần, phép, ốm gì hết (ở cột AH, từ dòng 8 trở xuống, của file đính kèm trong #7 ).
Tôi đã nghĩ ra cách làm. Tôi thêm vào cột LV (0: là không làm; 1: là có làm) trong ListCa. Tôi sẽ xem xét từng người trong những ô của khoảng ô tô màu. Đối với từng ô ca làm việc (của từng người), Tôi đem search value nó trong bảng ListCa để lấy value của ô tương ứng trong cột LV. Nếu ô tương ứng trong cột LV = 0 thì mới xét tiếp ô kế tiếp của người đó trong khoảng ô tô màu.(Còn nếu =1 thì cắt ngang, kg xem xét tiếp các ô ca làm việc của người này nữa). Nếu duyệt qua hết được tất cả ô ca làm việc của 1 người trong khoảng ô tô màu và đã search trong ListCa (LV=0) thì tên người này sẽ được mang sang bảng thông kê bên phải.
Tôi mô tả cách làm bằng ngôn ngữ thông thường đó. Nhờ các bạn giúp chuyển code cho với ạ.
Cảm ơn các bạn nhiều ạ.
 

File đính kèm

Lần chỉnh sửa cuối:
Các bạn cứu bồ Tôi về code trong bài viết #10 với ạ.
Rất mong được sự chỉ dẫn.
 
Tôi đã mò viết đoạn code cho nút lệnh tìm những người làm việc liên tục (kg nghi ốm, tuần, phép,...). Trong đoạn code Tôi dùng Find để tìm sTime trong ListCa nhưng sao không được các bạn ơi. Mong các bạn giúp Tôi với ạ.
Mong sớm nhận được chỉ dẫn của Các Bạn
 

File đính kèm

Web KT

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

Back
Top Bottom