Viết giúp tổng của nhiều sheet

Liên hệ QC

thachthao0710

Thành viên mới
Tham gia
30/3/19
Bài viết
8
Được thích
0
Em chào các Anh (Chị).
Anh chị xem giúp em file sau đây.
Em muốn tạo sheet tổng các sheet này nhờ các Anh (Chị) viết giúp em.
Em cảm ơn
 

File đính kèm

  • Phieu nhap kho TP.xlsx
    105.1 KB · Đọc: 5
Bạn muốn viết như thế nào và theo mẫu nào nhỉ.
Em muốn viết sheet tổng các sheet mà trong các sheet đó là inv khác nhau: mã sản phẩm và tên sản phẩm không giống nhau. Nếu dùng hàm SUMIF thì dẽ rất khó vì sheet tổng là của 12 tháng. File em gửi mới là của 1 tháng. Anh xem giúp em nhé
 

File đính kèm

  • Phieu nhap kho TP.xlsx
    107 KB · Đọc: 5
Upvote 0
Em muốn viết sheet tổng các sheet mà trong các sheet đó là inv khác nhau: mã sản phẩm và tên sản phẩm không giống nhau. Nếu dùng hàm SUMIF thì dẽ rất khó vì sheet tổng là của 12 tháng. File em gửi mới là của 1 tháng. Anh xem giúp em nhé
"inv" là gì bạn nhỉ?, Sao mã sản phẩm của bạn ở file Tổng không đủ vậy.
 
Lần chỉnh sửa cuối:
Upvote 0
Em muốn viết sheet tổng các sheet mà trong các sheet đó là inv khác nhau: mã sản phẩm và tên sản phẩm không giống nhau. Nếu dùng hàm SUMIF thì dẽ rất khó vì sheet tổng là của 12 tháng. File em gửi mới là của 1 tháng. Anh xem giúp em nhé
Bạn chạy code sau thử nhé:

Mã:
Sub TongHop_HLMT()
    Dim i As Integer, strSQl As String
    For i = 1 To 17
        strSQl = strSQl & " Union All Select * from [" & i & "$A14:F] Where F4 Is Not Null"
    Next
    strSQl = Right(strSQl, Len(strSQl) - 11)
    With CreateObject("ADODB.Recordset")
        .Open "Select F2,F3,F4,Sum(F5),Sum(F6) From (" & strSQl & ") Group By F2,F3,F4", "Provider=Microsoft.ACE.OLEDB.12.0;Data source=" & ThisWorkbook.FullName & ";Extended Properties=""Excel 12.0;HDR=No"""
         Sheet19.Range("B6").CopyFromRecordset .DataSource
    End With
End Sub
 
Upvote 0
Bạn chạy code sau thử nhé:

Mã:
Sub TongHop_HLMT()
    Dim i As Integer, strSQl As String
    For i = 1 To 17
        strSQl = strSQl & " Union All Select * from [" & i & "$A14:F] Where F4 Is Not Null"
    Next
    strSQl = Right(strSQl, Len(strSQl) - 11)
    With CreateObject("ADODB.Recordset")
        .Open "Select F2,F3,F4,Sum(F5),Sum(F6) From (" & strSQl & ") Group By F2,F3,F4", "Provider=Microsoft.ACE.OLEDB.12.0;Data source=" & ThisWorkbook.FullName & ";Extended Properties=""Excel 12.0;HDR=No"""
         Sheet19.Range("B6").CopyFromRecordset .DataSource
    End With
End Sub
Em cảm ơn anh mà em ko biết sao lại bị lỗi ở dòng Sheet19.Range("B6").CopyFromRecordset .DataSource
Anh có thể xem giúp em được không ah.
 
Upvote 0
Em cảm ơn anh mà em ko biết sao lại bị lỗi ở dòng Sheet19.Range("B6").CopyFromRecordset .DataSource
Anh có thể xem giúp em được không ah.
Có thể file của bạn dùng chạy code không có Sheet19, Vậy cái tên sheet mà bạn muốn ghi kết quả là sheet tên gì bạn?
 
Upvote 0

File đính kèm

  • Phieu nhap kho TP.xlsm
    129.5 KB · Đọc: 16
Upvote 0
Tôi gửi file đính kèm, bạn thử chạy xem có lỗi gì không nhé.
Dạ em cảm ơn anh đã được rồi ah. Nếu không có chắc em làm khi nào mới xong nữa.
Bài đã được tự động gộp:

Tôi gửi file đính kèm, bạn thử chạy xem có lỗi gì không nhé.
Em có thể làm phiền anh được không ah. Tổng theo tên sản phẩm thì sẽ thế nào ah
 
Lần chỉnh sửa cuối:
Upvote 0
Dạ em cảm ơn anh đã được rồi ah. Nếu không có chắc em làm khi nào mới xong nữa.
Lưu ý là bạn phải thay đổi trong code cho phù hợp với file của bạn. Ví dụ có sheet 18 trở đi thì nó chỉ lấy chỉ đến sheet 17 thôi nhé.

Dạ em có thể làm phiền anh thêm được không ah. Vì em muốn làm tổng theo từng mỗi mã sản phẩm thì sao ah. Vì code anh viết là tổng các sheet lại với nhau
Đã tổng hợp theo từng mã rồi mà bạn???
 
Upvote 0
Lưu ý là bạn phải thay đổi trong code cho phù hợp với file của bạn. Ví dụ có sheet 18 trở đi thì nó chỉ lấy chỉ đến sheet 17 thôi nhé.


Đã tổng hợp theo từng mã rồi mà bạn???
Lưu ý là bạn phải thay đổi trong code cho phù hợp với file của bạn. Ví dụ có sheet 18 trở đi thì nó chỉ lấy chỉ đến sheet 17 thôi nhé.

Dạ em sẽ thay đổi.

Đã tổng hợp theo từng mã rồi mà bạn???
Em không rõ sao còn một số mã lại không thể tổng hợp được1614321840427.png
 
Upvote 0
Lưu ý là bạn phải thay đổi trong code cho phù hợp với file của bạn. Ví dụ có sheet 18 trở đi thì nó chỉ lấy chỉ đến sheet 17 thôi nhé.

Dạ em sẽ thay đổi.

Đã tổng hợp theo từng mã rồi mà bạn???
Em không rõ sao còn một số mã lại không thể tổng hợp đượcView attachment 254567
Với file của bạn thì tôi chạy như sau:

1614322041522.png

Bạn nên xóa hết dữ liệu cũ của sheet kết quả trước khi chạy code thử xem sao nhé.
 
Upvote 0
Em cảm ơn anh mà em ko biết sao lại bị lỗi ở dòng Sheet19.Range("B6").CopyFromRecordset .DataSource
Anh có thể xem giúp em được không ah.
Mình không thấy bạn trả lời câu hỏi của mình và bạn đã có Anh Hai Lúa Miền Tây giúp rồi nhé.
 
Lần chỉnh sửa cuối:
Upvote 0
Web KT
Back
Top Bottom