Tổng Hợp File Vật Liệu Phức Tạp

Liên hệ QC

ducky_dhkt

Thành viên mới
Tham gia
17/9/07
Bài viết
16
Được thích
0
Mình có file vật liệu dưới khi xuất ra từ chương trình dự toán còn rất lộn xộn, các anh em giúp tui viết code để làm gọn nó lại như sau: mỗi loại vật liệu, nhân công, máy chỉ xuất hiện 1 lần , cột khối lượng = sum lại; sắp sếp theo thứ tự vật liệu riêng, nhân công riêng, máy thi công riêng. ( mở rộng) nếu khi xuất ra luôn luôn bị hiện trạng như thế có thể dùng code đã viết để áp dụng cho all file loại thế.!$@!!

file xuất ra từ chương trình dự toán luôn luôn mặc định như file attach
 

File đính kèm

Chỉnh sửa lần cuối bởi điều hành viên:
Mình có file vật liệu dưới khi xuất ra từ chương trình dự toán còn rất lộn xộn, các anh em giúp tui viết code để làm gọn nó lại như sau: mỗi loại vật liệu, nhân công, máy chỉ xuất hiện 1 lần , cột khối lượng = sum lại; sắp sếp theo thứ tự vật liệu riêng, nhân công riêng, máy thi công riêng. ( mở rộng) nếu khi xuất ra luôn luôn bị hiện trạng như thế có thể dùng code đã viết để áp dụng cho all file loại thế.!$@!!

file xuất ra từ chương trình dự toán luôn luôn mặc định như file attach

Bạn xem vậy có đúng không nha, nếu không thì làm tiếp
PHP:
Sub Taodulieu()
Dim Rdata As Long, Rw As Long, i As Long
Dim Rngdata As Range, MaVT As Range, KL As Range
Application.ScreenUpdating = False
Columns("A:G").Clear
With Sheet1
    Rdata = .[A65536].End(xlUp).Row
    .Range("A1:C" & Rdata).AdvancedFilter Action:=xlFilterCopy, _
        CopyToRange:=[A1], Unique:=True
    Set Rngdata = .Range("A2:G" & Rdata)
    Set MaVT = .Range("A2:A" & Rdata): Set KL = .Range("D2:D" & Rdata)
    .[D1:G1].Copy Destination:=[D1]
End With
Rw = [A65536].End(xlUp).Row
Range("A2:G" & Rw).Sort key1:=[A2], order1:=xlAscending
For i = 2 To Rw
    With WorksheetFunction
        Cells(i, 4) = .SumIf(MaVT, Cells(i, 1), KL)
        Cells(i, 5) = .VLookup(Cells(i, 1), Rngdata, 5, 0)
        Cells(i, 6) = .VLookup(Cells(i, 1), Rngdata, 6, 0)
        Cells(i, 7) = .VLookup(Cells(i, 1), Rngdata, 7, 0)
    End With
Next: Set Rngdata = Nothing: Set MaVT = Nothing: Set KL = Nothing
Application.ScreenUpdating = True
End Sub
 

File đính kèm

Upvote 0
Mình có file vật liệu dưới khi xuất ra từ chương trình dự toán còn rất lộn xộn, các anh em giúp tui viết code để làm gọn nó lại như sau: mỗi loại vật liệu, nhân công, máy chỉ xuất hiện 1 lần , cột khối lượng = sum lại; sắp sếp theo thứ tự vật liệu riêng, nhân công riêng, máy thi công riêng. ( mở rộng) nếu khi xuất ra luôn luôn bị hiện trạng như thế có thể dùng code đã viết để áp dụng cho all file loại thế.!$@!!

file xuất ra từ chương trình dự toán luôn luôn mặc định như file attach
Việc lọc cũng không có vấn đề gì, nhưng 1 vài chổ chưa hiểu phải hỏi lại:
sắp sếp theo thứ tự vật liệu riêng, nhân công riêng, máy thi công riêng
Cài nào là nhân công ? (tôi đoán chổ nào có chử nhân công ???)... cái nào là máy thi công ? (tôi đoán là chổ nào có chử máy ??? hay cột đơn vị tính là ca ???)... và cái nào là vật liệu? (chắc là những thứ còn lại ???)
Và sắp xếp riêng là riêng thế nào? Riêng ra thành từng cột hay là sao?
Nhiều thắc mắc mong phải giãi thích thật rõ thì mới làm đựoc
 
Upvote 0
Việc lọc cũng không có vấn đề gì, nhưng 1 vài chổ chưa hiểu phải hỏi lại:

Cài nào là nhân công ? (tôi đoán chổ nào có chử nhân công ???)... cái nào là máy thi công ? (tôi đoán là chổ nào có chử máy ??? hay cột đơn vị tính là ca ???)... và cái nào là vật liệu? (chắc là những thứ còn lại ???)
Và sắp xếp riêng là riêng thế nào? Riêng ra thành từng cột hay là sao?
Nhiều thắc mắc mong phải giãi thích thật rõ thì mới làm đựoc

Về việc thế nào là nhân công, vật liệu, máy thi công, Theo em biết thì ở cột mã (cột A) đã nói lên được điều này.
Về việc sắp xếp dữ liệu thì có 2 phương án :
1. trích lọc ra danh sách duy nhất tất cả các loại và sắp xếp theo quy luật những mã cùng loại thì nằm gần nhau (Cái này thì em đã làm).
2. Trích lọc ra danh sách duy nhất theo từng nhóm, sau đó add các nhóm này vào các sheet khác nhau với mẫu y như mẫu của dữ liệu gốc. Cụ thể trong bài sẽ có 3 nhóm khác nhau và ta sẽ add thêm 3 sheet mới để tạo mẫu báo cáo cho từng nhóm này.
Phương án 2 hơi phức tạp 1 tí nên đợi ý kiến tác giả rồi mới làm tiếp. nếu làm trước mà không đúng ý thì phí quá.
 
Upvote 0
Web KT

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

Back
Top Bottom