Tạo kế hoạch Bảo dưỡng tự động trong Excel

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

trungkiensrv

Thành viên mới
Tham gia
2/2/10
Bài viết
22
Được thích
0
Giới tính
Nam
Mình xin chào tất cả mọi người,
Mình có 1 vấn đề liên quan đến kế hoạch bảo dưỡng thiết bị bằng Excel mà đã đau đầu làm thủ công nhiều năm nay rồi nhiều khi sai sót linh tinh và mất quá nhiều thời gian.

Giờ mới nghĩ tới là đăng lên diễn đàn để nhờ các cao thủ Excel giúp đỡ.
Mình có 1 danh sách các thiết bị có yêu cầu bảo dưỡng định kỳ với tần suất bảo dưỡng Day/Month/3Month/6Month/12Month của từng thiết bị khác nhau như file gửi kèm.
Giờ mình cần lập kế hoạch bảo dưỡng của năm tiếp theo cho tất cả các máy sản xuất này với yêu cầu là chỉ cần nhập ngày bắt đầu triển khai KHBD. Sau đó Excel sẽ tự động tính toán các ngày bảo dưỡng tiếp theo căn cứ vào tần suất bảo dưỡng như ở trên (Như trong file ảnh ở Sheet2)

Ngoài ra sẽ làm thêm 1 sheet để filter các máy có kế hoạch bảo dưỡng trong thời gian từ ngày nào tới ngày nào khi cần

Đây là file mình rất cần và rất mong nhận được sự giúp đỡ của tất cả mọi người

Xin chân thành cảm ơn !
 

File đính kèm

  • Maintenance Plan.xlsx
    758.7 KB · Đọc: 85
Hic, bài này chỉ làm phép cộng thôi mà. + 30 x số tháng.
Khi nào đến ngày trên thì ghi vào giấy 1, 2 hôm nữa nhớ bảo dưỡng, dán vào 1 tờ A4, kẹp vào laptop, nếu PC thì dán lên bàn làm việc.

Tớ vẫn thường phải nhập "hạn chót" thủ công thế. Giấy bút vẫn trường tồn với thời gian.
 
Upvote 0
Bảo thằng Quản Đốc hoặc thằng sếp lo về bảo dưỡng thiết bị đưa bản văn chép quy trình của hắn lên đây.
Người ta sẽ dựa vào đấy mà có thể thiết kế một file, hoặc chỉnh sửa file đương thời của bạn để làm việc.

Chứ bây giờ nhìn cái file của bạn ngán quá, làm xong rồi chả biết có đúng quy trình hay không. Tiếng Anh sai bấy nhầy.
 
Upvote 0
Bảo thằng Quản Đốc hoặc thằng sếp lo về bảo dưỡng thiết bị đưa bản văn chép quy trình của hắn lên đây.
Người ta sẽ dựa vào đấy mà có thể thiết kế một file, hoặc chỉnh sửa file đương thời của bạn để làm việc.

Chứ bây giờ nhìn cái file của bạn ngán quá, làm xong rồi chả biết có đúng quy trình hay không. Tiếng Anh sai bấy nhầy.
Cảm ơn bạn. Mình chỉ cần thiết lập được như trong "Sheet2" sau đó mình sẽ update thiết bị và start date sau. Bạn có thời gian thì giúp mình với.
Thank you very much !
 
Upvote 0
Cảm ơn bạn. Mình chỉ cần thiết lập được như trong "Sheet2" sau đó mình sẽ update thiết bị và start date sau. Bạn có thời gian thì giúp mình với.
Thank you very much !
Cái phần này của anh có giống với Sheet2 đâu?
Người ta muốn giúp anh, nhưng muốn test dữ liệu thì sẽ làm như thế nào?
1695129238849.png
 
Upvote 0
Upvote 0
Upvote 0
@chủ bài đăng:

(1) Thường trong xí nghiệp có chí ít 2 loại bảo dưỡng: Định kỳ & đột xuất;
Chả nhẽ Thiết bị nào đó đang ngon trớn, tự nhiên lăn đùng ra thì phải sửa hay lại lấy cái khác thay vô, còn cái hư thì chờ đến hạn mới sửa?
Sau khi sửa đột xuất thì tạo chu kỳ kiểm tra & sửa chữa mới cho cái thiết bị vừa sửa xong đó chờ nhỉ?

(2) Nếu các thiết bị chưa có mã riêng biệt cho từng cái thì chưa thể làm gì được, & sẽ sai lên sai xuống cho mà coi!
 
Upvote 0
VBA thì quá OK cho yêu cầu này! Nếu cần VBA thì la lên nhé.
Bạn giúp mình với. Viết chương trình lập kế hoạch bằng VBA
Thank you so much !
Bài đã được tự động gộp:

@chủ bài đăng:

(1) Thường trong xí nghiệp có chí ít 2 loại bảo dưỡng: Định kỳ & đột xuất;
Chả nhẽ Thiết bị nào đó đang ngon trớn, tự nhiên lăn đùng ra thì phải sửa hay lại lấy cái khác thay vô, còn cái hư thì chờ đến hạn mới sửa?
Sau khi sửa đột xuất thì tạo chu kỳ kiểm tra & sửa chữa mới cho cái thiết bị vừa sửa xong đó chờ nhỉ?

(2) Nếu các thiết bị chưa có mã riêng biệt cho từng cái thì chưa thể làm gì được, & sẽ sai lên sai xuống cho mà coi!
Đây là yêu cầu hàng năm phải lập kế hoạch Bảo dưỡng định kỳ cho tất cả máy trong năm tiếp theo.
Vì vậy nếu với 200-300 máy mà cứ lập bằng tay thì mất thời gian mà lại không chuẩn.
Vì vậy mình rất mong nhận được sự giúp đỡ của mọi người
Thank you so much !
 
Upvote 0
@chủ bài đăng:

(1) Thường trong xí nghiệp có chí ít 2 loại bảo dưỡng: Định kỳ & đột xuất;
Chả nhẽ Thiết bị nào đó đang ngon trớn, tự nhiên lăn đùng ra thì phải sửa hay lại lấy cái khác thay vô, còn cái hư thì chờ đến hạn mới sửa?
Sau khi sửa đột xuất thì tạo chu kỳ kiểm tra & sửa chữa mới cho cái thiết bị vừa sửa xong đó chờ nhỉ?

(2) Nếu các thiết bị chưa có mã riêng biệt cho từng cái thì chưa thể làm gì được, & sẽ sai lên sai xuống cho mà coi!
Chắc họ làm bộ cho xôm tự chứ là đồ nhỏ nhặt.
Trên thực tế quy trình bảo dưỡng máy móc không có Quản đốc và/hoặc Kỹ Thuật chấp nhận thì chi phí đưa lên Kế toán sổ toẹt.

Chú:
Chi phí bảo dưởng, sửa chữa thiết bị được phân bổ vào giá thành.
Chi phí tu bổ, tân trang được cộng vào giá thiết bị và khấu hao (cũng là giá thành nhưng tiền khấu hao đưa vào tài khoản khác, tích lũy để thay thế thiết bị).
 
Upvote 0
Đây là yêu cầu hàng năm phải lập kế hoạch Bảo dưỡng định kỳ cho tất cả máy trong năm tiếp theo.
Vì vậy nếu với 200-300 máy mà cứ lập bằng tay thì mất thời gian mà lại không chuẩn.
Vì vậy mình rất mong nhận được sự giúp đỡ của mọi người
Bạn muốn người nào đó trên cộng đồng này giúp bạn tự động lập kế hoạch?
Trước tiên bạn phải lập trang danh mục các thiết bị của bạn; Chuyện này bạn phải làm chứ chả ai giúp bạn mà thực hiện tốt hơn.
Mình ví dụ (chỉ là ví dụ thôi nha)

STTMã TBTên thiết bịChu kỳ
1SM 2_Straightener mechanism 2Day
21DMHP1st Degassing machine - HP3Month
3SM 3_Straightener mechanism 36Month
42DMHP2nd Degassing machine - HP12Month
5SM 4_Straightener mechanism 46Month
6HWM_Head Welding MachineDay
7TRTHPThermal Reaction Test - HP6Month
 
Upvote 0
Xin chào tất cả các cao thủ Excel trong diễn đàn
Mình gửi mọi người file cần lập theo yêu cầu. Mình nhờ mọi người viết code cho 2 sheet "PM" và sheet "FILTER"
Rất mong sớm nhận được sự giúp đỡ của tất cả mọi người.
:heart::heart::heart:Xin chân thành cảm ơn rất nhiều ! :heart::heart::heart:
 

File đính kèm

  • Maintenance Plan.xlsx
    767 KB · Đọc: 33
Upvote 0
Cột Chu kỳ nên tách làm 2, 1 cột loại gồm ngày, tháng (là đơn vị tính của chu kỳ), 1 cột là con số, chỉ là số không ghép text
Chuyện nhỏ. Dân viết công thức khủng ở đây thừa sức chơi với loại cột có đơn vị không đồng nhất như vậy.
Chuyện tối thiểu ở đây là dân thiết kế lịch trình bảo dưỡng ai cũng biết phải có chi tiết lần bảo dưỡng gần nhất. Và điều chỉnh các lần dự tính tới.
Chuyện tối thiểu thứ hai là người làm lịch không hề nghĩ tới "lỡ nhìn vào bảng thấy một cột (ngày) mà có cả đống đến hạn thì sao?". Khả năng của nhóim bảo dưỡng là bao nhiêu việc một ngày? Phải chia ra nhiều ngày thì cái nào ưu tiên hơn cái nào?
Ở trên tôi đã nói: không có quy trình của người quản lý sản xuất thì lịch trình chỉ dùng để qua mặt thiên hạ thôi.

Đấy là công ty này làm việc cứng như khúc củi. Thời buổi này dân quản lý chuyên nghiệp biết lợi dụng những ngày nghỉ máy để tránh việc ảnh hưởng đến sản xuất.
 
Upvote 0
Chuyện nhỏ. Dân viết công thức khủng ở đây thừa sức chơi với loại cột có đơn vị không đồng nhất như vậy.
Chuyện tối thiểu ở đây là dân thiết kế lịch trình bảo dưỡng ai cũng biết phải có chi tiết lần bảo dưỡng gần nhất. Và điều chỉnh các lần dự tính tới.
Chuyện tối thiểu thứ hai là người làm lịch không hề nghĩ tới "lỡ nhìn vào bảng thấy một cột (ngày) mà có cả đống đến hạn thì sao?". Khả năng của nhóim bảo dưỡng là bao nhiêu việc một ngày? Phải chia ra nhiều ngày thì cái nào ưu tiên hơn cái nào?
Ở trên tôi đã nói: không có quy trình của người quản lý sản xuất thì lịch trình chỉ dùng để qua mặt thiên hạ thôi.

Đấy là công ty này làm việc cứng như khúc củi. Thời buổi này dân quản lý chuyên nghiệp biết lợi dụng những ngày nghỉ máy để tránh việc ảnh hưởng đến sản xuất.
Hello VetMini,
Điều bạn nói hoàn toàn chính xác đúng với thực tế ở rất nhiều nhà máy sản xuất. Tuy nhiên mình muốn nhờ mọi người viết cho mình một cái Format như mình gửi sau đó mình sẽ điều chỉnh kế hoạch thay đổi nếu có yêu cầu. Chứ lập một cái Kế hoạch full điều kiện mình nghĩ khó
Thank you so much !
 
Upvote 0
Chuyện nhỏ. Dân viết công thức khủng ở đây thừa sức chơi với loại cột có đơn vị không đồng nhất như vậy.
Là tôi chỉ góp ý cho bài của lão Sa bên trên. Còn quy trình sắp lịch bảo trì thì thì có viết ở 1 chủ đề khác:
21-09-23 3-36-50 PM.png

Cũng được bạn ạ. Bạn có phương án viết giúp mình với.
Tôi không có ý định làm vì không đủ thông tin. Nếu tôi lấy ngày hôm nay làm mốc để sắp cho tất cả thiết bị thì kết quả chẳng ra gì.
 
Upvote 0
Theo tôi thì chỉ cần 2 sheet là đủ:
Sheet "List": đăng ký danh sách và thông tin
Sheet "Filter": Nhấn nút filter xem kết quả.
Trong file bạn đang +30, 60,90,180,360 ngày... mình đề xuất định nghĩa lại là cùng ngày, nhưng sau 1,3,6,12 tháng (hàm DateAdd) thì chính xác hơn

PHP:
Option Explicit
Sub FilterList()
Dim lr&, i&, j&, k&, c&, rng, res(), arr()
Dim staD As Double, endD As Double, freq As Double
staD = Range("C2").Value: endD = Range("C3").Value
If staD > endD Then
    MsgBox "Ngay ket thuc phai lon hon ngay bat dau!"
    Exit Sub
End If
With Sheets("List")
    lr = .Cells(Rows.Count, "B").End(xlUp).Row
    rng = .Range("A2:G" & lr).Value
End With
ReDim arr(1 To UBound(rng), 1 To 7)
For i = 1 To UBound(rng)
    If rng(i, 4) = "Active" Then
        Select Case rng(i, 5)
            Case "Month"
                rng(i, 7) = 1
            Case "Day"
                rng(i, 7) = 0
            Case "3Month"
                rng(i, 7) = 3
            Case "6Month"
                rng(i, 7) = 6
            Case "12Month"
                rng(i, 7) = 12
        End Select
        k = k + 1
        For j = 1 To 7
            arr(k, j) = rng(i, j)
        Next
    End If
Next
ReDim res(1 To k + 2, 1 To (endD - staD + 1))
For j = 1 To UBound(res, 2)
    res(2, j) = staD + j - 1
    res(1, j) = Format(res(2, j), "ddd")
Next
For i = 1 To k
    c = 0
    If arr(i, 6) <= endD Then
        Do
            Debug.Print freq, staD, endD
            freq = IIf(arr(i, 5) = "Day", arr(i, 6) + c, DateAdd("m", c * arr(i, 7), arr(i, 6)))
            If freq >= staD And freq <= endD Then res(i + 2, freq - staD + 1) = "x"
            c = c + 1
        Loop Until freq >= endD
    End If
Next
Range("A7:ZZ100000").ClearContents
Range("A7").Resize(k, 7).Value = arr
Range("F5:ZZ6").ClearContents
Range("F5").Resize(UBound(res), UBound(res, 2)).Value = res
End Sub
 

File đính kèm

  • Maintenance Plan (1).xlsm
    510.9 KB · Đọc: 93
Upvote 0
Web KT

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

Back
Top Bottom