Tổng hợp dữ liệu từ nhiều sheet có cấu trúc như nhau về 1 sheet tổng (1 người xem)

Liên hệ QC

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

garj_cuong

Thành viên mới
Tham gia
3/5/13
Bài viết
34
Được thích
1
Mình muốn tổng hợp dữ liệu từ nhiều sheet giống nhau về cấu trúc về 1 sheet tổng hợp bằng code. Mong mọi người giúp đỡ. Thanks!
Ps: Mình đính kèm file mong mọi người làm trên file giúp mình
 

File đính kèm

Mình muốn tổng hợp dữ liệu từ nhiều sheet giống nhau về cấu trúc về 1 sheet tổng hợp bằng code. Mong mọi người giúp đỡ. Thanks!
Ps: Mình đính kèm file mong mọi người làm trên file giúp mình

dạng bài này nếu bạn chịu khó tìm trên GPE thì có cả một Rừng...Từ function đến code
 
Vì mình không biết nhiều mới đưa file lên mong mọi người giúp đỡ mà. Thanks!
 
Nói chung mình tìm rồi nhưng không đúng ý của mình mà nghiên cứu mãi không ra được lên mới đưa lên để nhờ mọi người giúp đỡ. Cảm ơn nhiều!
 
Nói chung mình tìm rồi nhưng không đúng ý của mình mà nghiên cứu mãi không ra được lên mới đưa lên để nhờ mọi người giúp đỡ. Cảm ơn nhiều!
Dùng thử consolidate xem sao, online bằng điện thoại di động nên không xem file được
 
Do sản lượng ngày 1 trong tháng sau có thể có nhiều dòng hơn tháng này, nên em muốn dùng công thức sau cho tổng sản lượng của ngày 1 theo mã sản phẩm. Nghĩa là ngày 1 có tổng sản luọng của mã 123 là bao nhiêu và .... (Nếu cắt ngang ngày 1 thì sumif dc rồi, hoặc nếu group by trong access thì cũng dc, nhưng em muốn làm trong excell luôn cho tiện) ai giúp em với.
 
Do sản lượng ngày 1 trong tháng sau có thể có nhiều dòng hơn tháng này, nên em muốn dùng công thức sau cho tổng sản lượng của ngày 1 theo mã sản phẩm. Nghĩa là ngày 1 có tổng sản luọng của mã 123 là bao nhiêu và .... (Nếu cắt ngang ngày 1 thì sumif dc rồi, hoặc nếu group by trong access thì cũng dc, nhưng em muốn làm trong excell luôn cho tiện) ai giúp em với.
Trường hợp của bạn thì nên dùng pivot table xem sao. Pivot table có thể nói là tuyệt cú mèo đó.
 
Mình muốn tổng hợp dữ liệu từ nhiều sheet giống nhau về cấu trúc về 1 sheet tổng hợp bằng code. Mong mọi người giúp đỡ. Thanks!
Ps: Mình đính kèm file mong mọi người làm trên file giúp mình
Tổng hợp thì đúng là có nhiều, nhưng kiểu của bạn thì chỉ mới có 1.
Xem file đính kèm, đúng sai gì cũng kệ. Thề là không sửa code.
 

File đính kèm

Bạn ơi cho mình hỏi sao code thì ở sheet tổng hợp đến tận cột GM mà sao khi chạy code thì chỉ chạy được đến cột U của sheet tổng hợp nhỉ?Mình kiểm tra mãi nhưng vẫn không chạy code toản bộ nhỉ?
Ps: Mong sự chỉ giáo. Thanks!
 
Option Explicit
Sub tonghop()
Application.ScreenUpdating = False
Dim sh As Worksheet, Arr(), i, Rng As Range, n, c, r
Sheet1.Range("A4", "GM150").ClearContents
For Each sh In Worksheets
If sh.Name <> "Tong Hop" Then
Arr = sh.Range("B6", sh.[G150].End(3)).Value
n = n + 1
r = Sheet1.[A150].End(3).Offset(1).Row
Sheet1.[A150].End(3).Offset(1) = n
Sheet1.[B150].End(3).Offset(1) = sh.[B3].Value
Sheet1.[C150].End(3).Offset(1) = sh.[G151].End(3).Value
For i = 1 To UBound(Arr)
If Arr(i, 1) <> "" Then
Set Rng = Sheet1.Rows("2:2").Find(Arr(i, 1), , , 1)
If Not Rng Is Nothing Then
c = Rng.Column
Sheet1.Cells(r, c) = Arr(i, 2)
Sheet1.Cells(r, c + 1) = Arr(i, 4)
Sheet1.Cells(r, c + 2) = Arr(i, 6)
End If
End If
Next
End If
Next
End Sub


Mọi người cho mình hỏi tại sao code thì làm việc đến cột GM nhưng khi chạy thì code chỉ làm việc thực tế đến hết cột U nhỉ?
Mong mọi người giải thích giúp
 
Bạn ơi cho mình hỏi sao code thì ở sheet tổng hợp đến tận cột GM mà sao khi chạy code thì chỉ chạy được đến cột U của sheet tổng hợp nhỉ?Mình kiểm tra mãi nhưng vẫn không chạy code toản bộ nhỉ?
Ps: Mong sự chỉ giáo. Thanks!
Là vì dữ liệu tại dòng 2 bạn chỉ điền sẵn có tới cột U.
 
Em đã thử rồi mà không được bác ạ, bác xem có giúp được không ạ. Em muốn để trống thì nó vẫn cứ vào sheet tổng hợp nữa.hjhj
 
Em đã thử rồi mà không được bác ạ, bác xem có giúp được không ạ. Em muốn để trống thì nó vẫn cứ vào sheet tổng hợp nữa.hjhj
Chẳng khó khăn lắm đâu, chỉ cần hứng lên mới viết được. Cho nên rút kinh nghiệm sau này hỏi bài thì phải rõ ràng ngay từ đầu.
 
Vâng, em mới vào học lên cũng chưa rành cái này lắm mong bác xem giúp em thêm với. Thanks!
 
Trước hết xin cám ơn bạn đã quan tâm giúp đỡ, nhưng nó cũng vẫn chỉ sử dụng được tới cột "U" là hết bạn à. Mình xin tải lại lại file lên mọi người xem giúp mình với nhé. Thanks!
Nội dung cần yêu cầu thêm mình đã viết trong file mong mọi người giúp đỡ thêm
 

File đính kèm

Trước hết xin cám ơn bạn đã quan tâm giúp đỡ, nhưng nó cũng vẫn chỉ sử dụng được tới cột "U" là hết bạn à. Mình xin tải lại lại file lên mọi người xem giúp mình với nhé. Thanks!
Nội dung cần yêu cầu thêm mình đã viết trong file mong mọi người giúp đỡ thêm

Bạn xem file bài #17.
Xem trong sheet Tong Hop, dòng 2, các chữ A,B,C,D.....U.W gì đó, mà có trong cột B của các sheet1, sheet2, có nhập đủ chưa?
Các chữ trong dòng 2 này Code không chịu trách nhiệm ghi vào đâu, mà không có thì code không dựa vào đâu mà ghi.
Bạn quanghai1969 cũng có nói đến chuyện này ở bài #13 mà bạn vẫn chưa "để ý" đến.
Là vì dữ liệu tại dòng 2 bạn chỉ điền sẵn có tới cột U.
Nếu không cần đến tiêu đề của dòng 2 sheet Tong Hop thì xoá hết dòng 2 cho khỏi bận tâm khi viết code, Code còn gọn hơn.
PHP:
Sub LuXuBu()
Dim sArr(), dArr(), I As Long, K As Long, Col As Long, Ws As Worksheet
With Sheets("Tong Hop")
    ReDim dArr(1 To 1000, 1 To 195)
    For Each Ws In Worksheets
        If Ws.Name <> "Tong Hop" Then
            K = K + 1
            dArr(K, 1) = K
            dArr(K, 2) = Ws.[B3].Value
            sArr = Ws.Range("B6:G69").Value
            For I = 1 To 64
                Col = I * 3 + 1
                If sArr(I, 6) <> Empty Then
                    dArr(K, 3) = dArr(K, 3) + sArr(I, 6)
                    dArr(K, Col) = sArr(I, 2)
                    dArr(K, Col + 1) = sArr(I, 4)
                    dArr(K, Col + 2) = sArr(I, 6)
                End If
            Next I
        End If
    Next Ws
    If K Then .[A4].Resize(K, 195) = dArr
End With
End Sub
 

File đính kèm

Lần chỉnh sửa cuối:
Bạn xem file bài #17.
Xem trong sheet Tong Hop, dòng 2, các chữ A,B,C,D.....U.W gì đó, mà có trong cột B của các sheet1, sheet2, có nhập đủ chưa?
Các chữ trong dòng 2 này Code không chịu trách nhiệm ghi vào đâu, mà không có thì code không dựa vào đâu mà ghi.
Bạn quanghai1969 cũng có nói đến chuyện này ở bài #13 mà bạn vẫn chưa "để ý" đến.

Nếu không cần đến tiêu đề của dòng 2 sheet Tong Hop thì xoá hết dòng 2 cho khỏi bận tâm khi viết code, Code còn gọn hơn.
Vì em thề rồi nên không thể sửa code. Thực ra để điền tự động cái dòng 2 chẳng khó khăn gì.
Tạo 1 Sub duyệt qua các sheet lấy hết các nội dung của cột B ( A,B,C,D,F,,,). Mỗi lần gặp em nào mới thì tăng biến n lên 3 cột, Redim Preserve 1 mảng 1 chiều, và gán hắn vào mảng (n-2), cuối cùng nện mảng đó vào dòng 2. Tiếp theo là chạy cái code ban đầu. Anh em nào thấy thương chủ thớt thì cứu hộ nhé.
 
Web KT

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

Back
Top Bottom