THUẬT TOÁN TÍNH TỔNG TỪNG TUẦN TRONG 1 THÁNG BẤT KỲ

Liên hệ QC

khuongnguyencm69

Thành viên mới
Tham gia
7/6/16
Bài viết
31
Được thích
5
Chào các anh/chị diễn đàn:
Em có một vấn đề mà không sao giải quyết được, nên nhờ anh chị giúp đỡ. Em cần tính tổng tuần từng bất kỳ 1 tháng nào em chọn nạp vào chương trình.
Bài toán như sau: Cần phân biệt tháng đó có bao nhiêu tuần, sau đó cộng từng tuần lại và dán vào tuần theo đúng số tuần.
Ví dụ em có file ở dưới. Em lấy tháng 7 thì có 6 TUẦN, số tuần từ tuần 26 đến tuần 31. Em cần tính tổng tuần từng xưởng, và ngày đầu tuần thì tính theo hệ số 2 tức ngày đầu tuần là thứ hai( số 1 là thứ 2 đến số 7 là chủ nhật). Cụ thể ngày 1 là đầu tuần của tuần 26 nhưng do tuần 26 chỉ 1 ngày là ngày 01 nên copy cột ngày 01/26 dán xuống tuần 26. tương tự tuần 27 bắt đầu từ ngày 2 đến ngày 8 thì tính tổng(sum) từ ngày 2 đến ngày 8 dán xuống tuần 27,...vv...!
Anh/chị xem file đính kèm. Thật ra em đã suy nghĩ rất lâu mà không tài nào viết nổi cái code này, rất mong anh/chị bỏ chút thời gian giúp đỡ. Cảm ơn nhiều lắm!
 

File đính kèm

Chào các anh/chị diễn đàn:
Em có một vấn đề mà không sao giải quyết được, nên nhờ anh chị giúp đỡ. Em cần tính tổng tuần từng bất kỳ 1 tháng nào em chọn nạp vào chương trình.
Bài toán như sau: Cần phân biệt tháng đó có bao nhiêu tuần, sau đó cộng từng tuần lại và dán vào tuần theo đúng số tuần.
Ví dụ em có file ở dưới. Em lấy tháng 7 thì có 6 TUẦN, số tuần từ tuần 26 đến tuần 31. Em cần tính tổng tuần từng xưởng, và ngày đầu tuần thì tính theo hệ số 2 tức ngày đầu tuần là thứ hai( số 1 là thứ 2 đến số 7 là chủ nhật). Cụ thể ngày 1 là đầu tuần của tuần 26 nhưng do tuần 26 chỉ 1 ngày là ngày 01 nên copy cột ngày 01/26 dán xuống tuần 26. tương tự tuần 27 bắt đầu từ ngày 2 đến ngày 8 thì tính tổng(sum) từ ngày 2 đến ngày 8 dán xuống tuần 27,...vv...!
Anh/chị xem file đính kèm. Thật ra em đã suy nghĩ rất lâu mà không tài nào viết nổi cái code này, rất mong anh/chị bỏ chút thời gian giúp đỡ. Cảm ơn nhiều lắm!
PHP:
Public Sub s_Gpe()
Dim sArr(), dArr(), I As Long, J As Long, N As Long, R As Long, Col As Long
sArr = Range("F5", Range("F5").End(xlToRight)).Resize(23).Value
N = UBound(sArr, 2)
R = UBound(sArr)
ReDim dArr(1 To R, 1 To 10)
Col = 1
For J = 1 To N
    For I = 2 To R
        dArr(I - 1, Col) = dArr(I - 1, Col) + sArr(I, J)
    Next I
    If Weekday(sArr(1, J), 2) = 7 Then Col = Col + 1
Next J
Range("F33").Resize(R - 1, Col) = dArr
End Sub
 
Upvote 0
PHP:
Public Sub s_Gpe()
Dim sArr(), dArr(), I As Long, J As Long, N As Long, R As Long, Col As Long
sArr = Range("F5", Range("F5").End(xlToRight)).Resize(23).Value
N = UBound(sArr, 2)
R = UBound(sArr)
ReDim dArr(1 To R, 1 To 10)
Col = 1
For J = 1 To N
    For I = 2 To R
        dArr(I - 1, Col) = dArr(I - 1, Col) + sArr(I, J)
    Next I
    If Weekday(sArr(1, J), 2) = 7 Then Col = Col + 1
Next J
Range("F33").Resize(R - 1, Col) = dArr
End Sub

Cám ơn anh nhiều lắm, quả thật là nhìn code của anh chỉ hiểu vài chỗ, cái mảng là em yếu nhất về nó, nhìn cứ rối tin rối mù!
 
Upvote 0
Chào các anh/chị diễn đàn:
Em có một vấn đề mà không sao giải quyết được, nên nhờ anh chị giúp đỡ. Em cần tính tổng tuần từng bất kỳ 1 tháng nào em chọn nạp vào chương trình.
Bài toán như sau: Cần phân biệt tháng đó có bao nhiêu tuần, sau đó cộng từng tuần lại và dán vào tuần theo đúng số tuần.
Ví dụ em có file ở dưới. Em lấy tháng 7 thì có 6 TUẦN, số tuần từ tuần 26 đến tuần 31. Em cần tính tổng tuần từng xưởng, và ngày đầu tuần thì tính theo hệ số 2 tức ngày đầu tuần là thứ hai( số 1 là thứ 2 đến số 7 là chủ nhật). Cụ thể ngày 1 là đầu tuần của tuần 26 nhưng do tuần 26 chỉ 1 ngày là ngày 01 nên copy cột ngày 01/26 dán xuống tuần 26. tương tự tuần 27 bắt đầu từ ngày 2 đến ngày 8 thì tính tổng(sum) từ ngày 2 đến ngày 8 dán xuống tuần 27,...vv...!
Anh/chị xem file đính kèm. Thật ra em đã suy nghĩ rất lâu mà không tài nào viết nổi cái code này, rất mong anh/chị bỏ chút thời gian giúp đỡ. Cảm ơn nhiều lắm!

Như bác nói: ngày 01/07 thuộc tuần 26 nhưng em dùng hàm Weeknum thì nó lại là tuần 27 nhỉ?
 
Upvote 0
Đưa file bị lỗi lên mới biết được tại sao lỗi.

trong lúc chờ đợi bạn ấy up file lỗi của bạn ấy,

thì cháu thử file của bạn ấy, đổi sang tháng khác thì code ko chạy chú à, chú xem giúp cháu với ạ,
 

File đính kèm

Upvote 0
Chào anh/chị, em upfile đầy đủ tất cả các sheets, thao tác ở sheet sumfile, như nhấn vào chọn tháng ở ô C2 thì code sẽ chạy ra tháng đó bao nhiêu ngày ở ô F5 đến AJ5 và có bao nhiêu tuần từ ô F32 đến L32 cho anh/em dễ thí nghiệm.
Như đề đã nói, em cần tính tổng hợp vì mỗi tháng sẽ có chủ nhật khác nhau(chủ nhật em sẽ tự động tô màu đỏ cho dễ phân biệt) và tuần khác nhau, mà em cần là cái code khi nạp tháng vào thì nó sẽ tính tổng hợp đúng theo tuần tháng đó! Thanks anh/chị !
Bài đã được tự động gộp:

Đọc và làm theo bài #9 xem sao.
Dữ liệu đâu mà "kỳ cục".
Cám ơn anh, code anh chạy tốt rồi, do em không rành về VBA nên không biết phải clear dữ liệu thì code mới chạy được, sự dốt nát luôn luôn nhiều như sao trên trời à. Anh thông cảm! Hì Chắc em phải ngâm cứu cái code anh cả tháng trời!
Bài đã được tự động gộp:

Chào anh/chị, em upfile đầy đủ tất cả các sheets, thao tác ở sheet sumfile, như nhấn vào chọn tháng ở ô C2 thì code sẽ chạy ra tháng đó bao nhiêu ngày ở ô F5 đến AJ5 và có bao nhiêu tuần từ ô F32 đến L32 cho anh/em dễ thí nghiệm.
Như đề đã nói, em cần tính tổng hợp vì mỗi tháng sẽ có chủ nhật khác nhau(chủ nhật em sẽ tự động tô màu đỏ cho dễ phân biệt) và tuần khác nhau, mà em cần là cái code khi nạp tháng vào thì nó sẽ tính tổng hợp đúng theo tuần tháng đó! Cảm ơn anh/chị !
Bài đã được tự động gộp:


Cám ơn anh, code anh chạy tốt rồi, do em không rành về VBA nên không biết phải clear dữ liệu thì code mới chạy được, sự dốt nát luôn luôn nhiều như sao trên trời à. Anh thông cảm! Hì Chắc em phải ngâm cứu cái code anh cả tháng trời!
file chuẩn rồi ! Hì
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
Web KT

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

Back
Top Bottom