tạo hàm/công thức để sử dụng nhiều lần (1 người xem)

  • Thread starter Thread starter tienbv
  • Ngày gửi Ngày gửi

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

tienbv

Thành viên mới
Tham gia
13/8/07
Bài viết
12
Được thích
2
Em được Sếp giao một số công việc và cần giám sát tình hình xử lý. Cụ thể nư sau:
Các công việc Job 1, Job2, job3...;
Ngày tháng: ngày ghi trong job (ngày tạọ job-ng1); ngày sếp duyệt (ngày duyệt-ng2); ngày sếp giao (ngày nhận việc-ng3);
Thời gian xử lý tình từ ngày nhận việc (ng3) cho đến khi hoàn thành (ngày hoàn thành-ng4);
Cần lập hàm:
1. Nếu ng1 và ng2: có, ng3 chưa có thì hiện kết quả "Chưa duyệt";
2. Nếu có ng1, ng2 và ng3 thì:
2.1 Trường hợp đã xong công việc, có ng4:
Nếu ng4 -ng3 <= 5 ngày; hiện kết quả "Hoàn thành" -kèm theo số ngày đã thực hiện;
Nếu ng4-ng3 > 5 thì ghi KQ: "Hoàn thành >5 ngày" - kèm theo số ngày đã thực hiệnn;
2.2 Trường hợp ng4 chưa có (tức là chưa xong công việc) thì lấy ngày hiện tại, today = ng5;
Nếu ng5-ng3 <=5 thì ghi KQ "Đang xử ly"- kèm thjeo số ngày đã xử lý;
Nếu ng5-ng3 > 5 thì ghi KQ "Tồn đọng" - kèm theo số ngày đã xử lý;
Công thức trên áp dụng tưng job nên 1 năm có cả nghìn job nên phải lặp lại nhiều lần. Mong các Bác viết giúp hàm hoặc VB gì đó sử dụng nhiều mà không quá tải cho file hoặc nhầm lần;
cảm ơn;
 
Em được Sếp giao một số công việc và cần giám sát tình hình xử lý. Cụ thể nư sau:
Các công việc Job 1, Job2, job3...;
Ngày tháng: ngày ghi trong job (ngày tạọ job-ng1); ngày sếp duyệt (ngày duyệt-ng2); ngày sếp giao (ngày nhận việc-ng3);
Thời gian xử lý tình từ ngày nhận việc (ng3) cho đến khi hoàn thành (ngày hoàn thành-ng4);
Cần lập hàm:
1. Nếu ng1 và ng2: có, ng3 chưa có thì hiện kết quả "Chưa duyệt";
2. Nếu có ng1, ng2 và ng3 thì:
2.1 Trường hợp đã xong công việc, có ng4:
Nếu ng4 -ng3 <= 5 ngày; hiện kết quả "Hoàn thành" -kèm theo số ngày đã thực hiện;
Nếu ng4-ng3 > 5 thì ghi KQ: "Hoàn thành >5 ngày" - kèm theo số ngày đã thực hiệnn;
2.2 Trường hợp ng4 chưa có (tức là chưa xong công việc) thì lấy ngày hiện tại, today = ng5;
Nếu ng5-ng3 <=5 thì ghi KQ "Đang xử ly"- kèm thjeo số ngày đã xử lý;
Nếu ng5-ng3 > 5 thì ghi KQ "Tồn đọng" - kèm theo số ngày đã xử lý;
Công thức trên áp dụng tưng job nên 1 năm có cả nghìn job nên phải lặp lại nhiều lần. Mong các Bác viết giúp hàm hoặc VB gì đó sử dụng nhiều mà không quá tải cho file hoặc nhầm lần;
cảm ơn;
Gửi file đính kèm sẽ dễ làm hơn bạn ah
 
Em cần hàm ở cột "Q" lặp nhiều lần quá tốn file;
cảm ơn.
Dùng tạm đoạn code
Viết theo file mẫu
Mã:
Public Sub Kiem_Tra()
Dim r As Long
On Error Resume Next
With Sheet1
For r = 14 To 51
If .Range("R" & r) <> "" Then
.Range("Q" & r) = .Range("O" & r).Value & " " & (.Range("R" & r) - .Range("H" & r)) & ": Ngày"
Else
If .Range("H" & r) <> "" Then
.Range("Q" & r) = .Range("O" & r).Value & " " & (Worksheet.Function.Date() - .Range("H" & r)) & ": Ngày"
Else
.Range("Q" & r) = .Range("O" & r).Value
End If
End If
Next r
End With


End Sub
 
Dùng tạm đoạn code
Viết theo file mẫu
Mã:
Public Sub Kiem_Tra()
Dim r As Long
On Error Resume Next
With Sheet1
For r = 14 To 51
If .Range("R" & r) <> "" Then
.Range("Q" & r) = .Range("O" & r).Value & " " & (.Range("R" & r) - .Range("H" & r)) & ": Ngày"
Else
If .Range("H" & r) <> "" Then
.Range("Q" & r) = .Range("O" & r).Value & " " & (Worksheet.Function.Date() - .Range("H" & r)) & ": Ngày"
Else
.Range("Q" & r) = .Range("O" & r).Value
End If
End If
Next r
End With


End Sub
EM muốn các Bác giúp em cái function (ng3, ng4,ng5) để căn cứ vào 3 yếu tố này cho ra kết quả, đỡ phải copy cái công thức (ghép quá nhiều);
Dùng Sub như bác HungQuoc thì cũng được nhưng từng ngày có từng job, có khi không, có khi nhiều mà cần kêt quả ngay không giới hạn trong 51 hay 100, có khi cả nghìn job, chia làm nhiều sheet... rất khó sử dụng procedure Sub này;
Sub này vẫn thiếu chức năng thông báo "Đang xử lý"; "Tồn đọng"?
Mong các bác lập giúp function cho thuận tiện. Cảm ơn nhiều././/**///**/
 
Lần chỉnh sửa cuối:

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

Back
Top Bottom