Chỉnh sửa đoạn CODE - Tìm đường găng của các công việc theo phương pháp PERT (1 người xem)

  • Thread starter Thread starter KhoiSMC
  • Ngày gửi Ngày gửi
Liên hệ QC

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

KhoiSMC

Thành viên thường trực
Tham gia
19/6/09
Bài viết
248
Được thích
32
Thưa các bạn GPE,

Phương pháp PERT để tìm ra các công việc găng đã áp dụng trong phần mềm microsoft project rồi rất nhanh chóng và đơn giản, tuy nhiên trên excel thì phải lập trình để tìm ra các công việc này. Mình vừa sưu tầm được đoạn mã CODE sau có thể tìm được các công việc thuộc đường găng sẽ ảnh hưởng đến tiến độ dự án theo phương pháp PERT.

Mục đích mình muốn sử dụng code này trên excel mà không phải là microsoft project là vì qua excel ta có thể tính toán tiếp các công việc thuộc đường găng sẽ mất bao nhiêu thời gian (tùy thuộc vào năng suất của từng đơn vị), tính được chi phí khi yêu cầu đẩy nhanh tiến độ, ....

Mình mô tả sơ bộ hoạt động của phần mềm này nhé:
1. Đầu vào dữ liệu:
Untitled.jpg
Theo đó: cột A là tên các công việc, cột B là thời gian thực hiện các công việc, cột C, D, E, ... là các công việc phải kết thúc xong mới thực hiện được công việc của dòng đó.
Ví dụ: Công việc G sẽ thực hiện trong 2 ngày khi các công việc E, F, C kết thúc.

2. Kết quả tính toán:
Untitled2 (1).jpg

Những công việc nào thuộc đường găng là những công việc có "Slack"=0
Ở ví dụ này thì chuỗi công việc sau sẽ mất nhiều thời gian nhất và ảnh hưởng đến tiến độ dự án: B, C, D, F, G.

Mình đã thử nhiều các ví dụ khác nhau và thấy đoạn CODE này tính toán đúng kết quả. Do vậy mình muốn nhờ các bạn điều chỉnh một chút cho phù hợp và lấy kết quả của đoạn code này đi làm tiếp các công việc khác, cụ thể yêu cầu:

1. Khi thực hiện chạy macro sẽ không tự "auto open" một sheet mới mà sẽ thực hiện ở sheet hiện tại thôi.
2. Thêm một cột A là thể hiện công việc nào là đường găng sẽ là 1, không phải đường găng là 0
3. Các cột Activities, Time, Predecessors sẽ là cột B, C, D, ...

xem hình vẽ:
Untitled1.jpg

Xin các bạn download file đính kèm để hiểu chi tiết hơn và giúp mình với.

Thanks
Khoi
 

File đính kèm

Lần chỉnh sửa cuối:
Hi, các bạn.

Các bạn có thể tư vấn trước cho ý số 1 với, vì cũng không phức tạp lắm. có nghĩa là khi chạy macro CPM phần mềm tự động tính toán và đưa ra kết quả ra một sheet mới đó là điều mình không mong muốn mà tính toán và đưa kết quả ngay tại sheet hiện thời thôi.
Có thể phải thay đổi đoạn code sau:
Mã:
' make new sheet and paste data on it
    Set dataSh = ActiveSheet
    dataReg1.Select
    Selection.Copy
    Set newSh = Worksheets.Add(, dataSh)
    Set OutTop = newSh.Cells(nActiv + 7, 1)
    Range("A1").Select
    newSh.Paste
    Set dataReg = Application.Selection

Mong các bạn giúp đỡ.
Thanks
Khoi
 
Lần chỉnh sửa cuối:
Upvote 0
Web KT

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

Back
Top Bottom