[Hỏi] Muốn tổng hợp số liệu từ các sheet vào một sheet tổng hợp? (1 người xem)

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

nguyendangquy

Thành viên mới
Tham gia
10/3/10
Bài viết
21
Được thích
1
Nghề nghiệp
CÔNG TY TNHH DỆT MAY XUÂN THÀNH
Cả nhà ơi cho mình hỏi?Mình chia các sheet thành các sheet như: thang1, thang2, thang3...., tong hop. Các sheet "thang1, thang2, thang3.... có nhiều loại khăn được xuất theo ngày. Mình muốn ở sheet "tong hop" sẽ tự động gộp các loại khăn giống nhau ở sheet "thang1, thang2, thang3...." thì làm thế nào? Rất mong các bạn trợ giúp. Xin cảm ơn cả nhà.
 
có thể sử dụng công thức, phức tạp quá thì dùng vba, nhưng phải thấy dữ liệu cũa bạn ra sao thấy mới làm được. up file bạn lên đi
 
Cả nhà ơi cho mình hỏi?Mình chia các sheet thành các sheet như: thang1, thang2, thang3...., tong hop. Các sheet "thang1, thang2, thang3.... có nhiều loại khăn được xuất theo ngày. Mình muốn ở sheet "tong hop" sẽ tự động gộp các loại khăn giống nhau ở sheet "thang1, thang2, thang3...." thì làm thế nào? Rất mong các bạn trợ giúp. Xin cảm ơn cả nhà.
Xem file này và tự xử nha.
Lúc trước mình nhận được file này rồi lại tiếp tục đưa ra yêu cầu mới và gởi file lên với 1 dạng dữ liệu khác nên bị mắng là người thiếu trách nhiệm với câu hỏi của mình đặt ra.
 

File đính kèm

Cảm ơn các bạn nhiều nhiều. Mong nhận được sự giúp đỡ của các bạn rất nhiều vì trình độ excel của mình còn hạn chế nhiều. Chân thành cảm ơn các bạn nhé
Xem file này và tự xử nha.
Lúc trước mình nhận được file này rồi lại tiếp tục đưa ra yêu cầu mới và gởi file lên với 1 dạng dữ liệu khác nên bị mắng là người thiếu trách nhiệm với câu hỏi của mình đặt ra.
 
Đây là bản cụ thể của tớ

Trên là bản vidu mình gửi bạn. Mong bạn chỉ giáo chi tiết giúp mình nhé. Mình rất gà về món excel nên không biết phải hỏi như nào cho chuẩn. Cảm ơn các bạn nhiều nhiều
 

File đính kèm

Trên là bản vidu mình gửi bạn. Mong bạn chỉ giáo chi tiết giúp mình nhé. Mình rất gà về món excel nên không biết phải hỏi như nào cho chuẩn. Cảm ơn các bạn nhiều nhiều
Mình đoán trước rồi mà. Bạn tìm cách mở chức năng macro lên sẽ có kết quả. Nếu không biết thì tìm trên diễn đàn.
 

File đính kèm

Marco mình không thạo lắm, có thể dùng hàm được không bạn? Xin cảm ơn
 
Marco mình không thạo lắm, có thể dùng hàm được không bạn? Xin cảm ơn
Không thạo tức là không giỏi nhưng biết xài. Cũng giống như mình không giỏi nhưng biêt xài cơ bản. Bạn đâu cần viết gì, chỉ mở file lên là có kết quả thôi.
 
Đồng ý với bạn là ai cũng biết xài, nhưng nếu chỉ biết xài thì vô tác dụng bạn ạ. Khi mà chỉ cần thay đổi thì không hiểu sẽ ko biết đường mà thay đổi. Cũng như những hạng mục của mình chẳng hạn. Cách trình bày của bạn không mô tả hết được những gì tớ muốn. Vì trong cột sản phẩm của tớ phải tách ra làm hai cột nhỏ nữa, Vì tớ không rõ nên chỉ bấy nhiêu sự thay đổi đó tớ đã không lần ra rồi. Nếu đã giỏi và đã biết rồi thì tớ đã không lên diễn đàn để tìm sự trợ giúp và học hỏi bạn ạ
Không thạo tức là không giỏi nhưng biết xài. Cũng giống như mình không giỏi nhưng biêt xài cơ bản. Bạn đâu cần viết gì, chỉ mở file lên là có kết quả thôi.
 
Đồng ý với bạn là ai cũng biết xài, nhưng nếu chỉ biết xài thì vô tác dụng bạn ạ. Khi mà chỉ cần thay đổi thì không hiểu sẽ ko biết đường mà thay đổi. Cũng như những hạng mục của mình chẳng hạn. Cách trình bày của bạn không mô tả hết được những gì tớ muốn. Vì trong cột sản phẩm của tớ phải tách ra làm hai cột nhỏ nữa, Vì tớ không rõ nên chỉ bấy nhiêu sự thay đổi đó tớ đã không lần ra rồi. Nếu đã giỏi và đã biết rồi thì tớ đã không lên diễn đàn để tìm sự trợ giúp và học hỏi bạn ạ
Với bài trả lời này thì hãy đợi các thành viên khác giúp nhá.
 
Sorry bạn, nhưng mình có ý gì đâu mà bạn lại nói vậy? Xin lỗi bạn nếu như có lời nói nào khiếm nhã làm bạn phiền lòng nhé. Mình cũng chỉ mong học hỏi thêm thôi mà. Chân thành cảm ơn bạn nhiều
Với bài trả lời này thì hãy đợi các thành viên khác giúp nhá.
 
[thongbao]Marco mình không thạo lắm, có thể dùng hàm được không bạn? Xin cảm ơn [/thongbao]

Đồng ý với bạn là ai cũng biết xài, nhưng nếu chỉ biết xài thì vô tác dụng bạn ạ. Khi mà chỉ cần thay đổi thì không hiểu sẽ ko biết đường mà thay đổi. Cũng như những hạng mục của mình chẳng hạn. Cách trình bày của bạn không mô tả hết được những gì tớ muốn. Vì trong cột sản phẩm của tớ phải tách ra làm hai cột nhỏ nữa, Vì tớ không rõ nên chỉ bấy nhiêu sự thay đổi đó tớ đã không lần ra rồi. Nếu đã giỏi và đã biết rồi thì tớ đã không lên diễn đàn để tìm sự trợ giúp và học hỏi bạn ạ

Với những công thức thì mình cũng tịt ngòi như bạn đang tịt về VBA thôi.

Nhưng bạn đã chắc sẽ thông suốt với các công thức bất kỳ nào không?
 
Hix, không ngờ các bạn lại hiểu sai ý của mình hết. Mình có nói là mình thông suốt về vấn đề gì đâu. Mình chỉ có ý :nếu đã đã biết về nó rồi mình sẽ KHÔNG TÌM SỰ GIÚP ĐỠ thôi chứ có gì đâu bạn. Với file như bạn quanghai1969 gửi thì với người trình độ còi như mình thì mình sẽ không biết đằng nào mà thay đổi hay học hỏi thôi mà.
Cảm ơn các bạn đã phản hồi. Thành thật sorry nếu như có lời nào làm các bạn phật ý.
Với những công thức thì mình cũng tịt ngòi như bạn đang tịt về VBA thôi.

Nhưng bạn đã chắc sẽ thông suốt với các công thức bất kỳ nào không?
 
Chào các bạn!
Tôi muốn áp dụng code trên của anh Quanghai để tạo bảng lương cho cả năm nhưng lại không biết sửa và thiết lập code như thế nào, nhờ sự giúp đỡ của các bạn
Tôi có 12 sheet tương ứng 12 tháng lương
Bây giờ tôi muốn tổng hợp lương của 12 tháng vào Sheet CaNam như sau
1/ Dựa vào các Sheet T01, T02 ... đến T12: để tự động thiết lập các cột A, B, C, D , E theo 1 mã DUY NHẤT cho Sheet CaNam
2/ Dựa vào các Sheet T01, T02 ... đến T12 và các Mã: để cộng dồn vào các cột từ cột F đến cột M cho Sheet CaNam
3/ Số liệu cột N: là tính số lần xuất hiện của Mã nhân viên trong tất cả các Sheet T01 đến T12
Ví dụ: Mã B001 chỉ xuất hiện ở sheet T01, T02 thì sẽ cho kết qủa là 2
Mã C11: chỉ xuất hiện ở sheet T02 thì sẽ cho kết qủa là 1
4/ Vui lòng làm giúp luôn cho dòng "Tổng cộng" của Sheet CaNam
------------------
Tại sheet CaNam: Về việc đánh số thứ tự vừa chữ số La mã vừa thứ tự, nếu phức tạp thì bỏ qua. Các dòng có thể xếp liên tục cũng được không cần chừa dòng trống!
File thực tế có rất nhiều nhân viên, nên tôi làm file giả định
Cảm ơn các bạn!
 

File đính kèm

Chào các bạn!
Tôi muốn áp dụng code trên của anh Quanghai để tạo bảng lương cho cả năm nhưng lại không biết sửa và thiết lập code như thế nào, nhờ sự giúp đỡ của các bạn
Tôi có 12 sheet tương ứng 12 tháng lương
Bây giờ tôi muốn tổng hợp lương của 12 tháng vào Sheet CaNam như sau
1/ Dựa vào các Sheet T01, T02 ... đến T12: để tự động thiết lập các cột A, B, C, D , E theo 1 mã DUY NHẤT cho Sheet CaNam
2/ Dựa vào các Sheet T01, T02 ... đến T12 và các Mã: để cộng dồn vào các cột từ cột F đến cột M cho Sheet CaNam
3/ Số liệu cột N: là tính số lần xuất hiện của Mã nhân viên trong tất cả các Sheet T01 đến T12
Ví dụ: Mã B001 chỉ xuất hiện ở sheet T01, T02 thì sẽ cho kết qủa là 2
Mã C11: chỉ xuất hiện ở sheet T02 thì sẽ cho kết qủa là 1
4/ Vui lòng làm giúp luôn cho dòng "Tổng cộng" của Sheet CaNam
------------------
Tại sheet CaNam: Về việc đánh số thứ tự vừa chữ số La mã vừa thứ tự, nếu phức tạp thì bỏ qua. Các dòng có thể xếp liên tục cũng được không cần chừa dòng trống!
File thực tế có rất nhiều nhân viên, nên tôi làm file giả định
Cảm ơn các bạn!
Còn 1 dòng tổng nữa chưa viết, khi nào hứng thì viết tiếp. Xài tạm nhiêu đó nha
 

File đính kèm

Tổng hợp dữ liệu từ nhiều file Excel

Tôi có các file Excel chứa dưc liệu, nhưng trên các file này có hàng không chứa dữ liệu. Tôi muốn tổng hợp các dữ liệu từ các file này và một file mới và được xếp theo thứ tự trên xuống không có hàng trống. Tôi đã gưi đính kèm file nhờ các Anh, các Chị chi dum cách tong hop bằng macro ma khong can copy
 

File đính kèm

Còn 1 dòng tổng nữa chưa viết, khi nào hứng thì viết tiếp. Xài tạm nhiêu đó nha
Đây là code của bạn quanghai1969
PHP:
Option ExplicitSub tong()Dim Sh As Worksheet, data(), dic As Object, i As Long, r As LongDim Res(1 To 10000, 1 To 14), n As Long, k As Long, soSet dic = CreateObject(
 

File đính kèm

Lần chỉnh sửa cuối:
Đây là code của bạn quanghai1969
PHP:
Option ExplicitSub tong()Dim Sh As Worksheet, data(), dic As Object, i As Long, r As LongDim Res(1 To 10000, 1 To 14), n As Long, k As Long, soSet dic = CreateObject("scripting.dictionary")For Each Sh In Worksheets   If Sh.Name <> "Ca nam" Then      data = Sh.Range(Sh.[A8], Sh.[A65536].End(3)).Resize(, 14).Value      For i = 1 To UBound(data)         If data(i, 2) <> "" Then            If Not dic.exists(data(i, 2)) Then               k = k + 1               dic.Add data(i, 2), k               For n = 1 To 13                  Res(k, n) = data(i, n)               Next               If Right(data(i, 2), 3) <> "000" Then                  Res(k, 14) = Res(k, 14) + 1               End If            Else               For n = 6 To 13                  Res(dic.Item(data(i, 2)), n) = Res(dic.Item(data(i, 2)), n) + data(i, n)               Next               If Right(data(i, 2), 3) <> "000" Then                  Res(dic.Item(data(i, 2)), 14) = Res(dic.Item(data(i, 2)), 14) + 1               End If            End If         End If      Next   End IfNextWith Sheets("Ca nam")   .[A8:N1000].ClearContents   .[A8].Resize(k, 14) = Res   .Range(.[A8], .[A65536].End(3)).Resize(, 14).Sort .[B7]   .Range(.[A8], .[A65536].End(3)).Resize(, 14).Font.Bold = False   For r = .[B65536].End(3).Row To 8 Step -1      If Right(.Cells(r, 2), 3) = "000" Then         .Cells(r, 2).EntireRow.Font.Bold = True         If r > 8 Then .Cells(r, 2).EntireRow.Insert      Else         .Cells(r, 1) = Val(Right(.Cells(r, 2), 3))      End If   NextEnd WithEnd Sub
Code trên mục đích tổng hợp bảng lương "cả năm" của các tháng như T01, T02, ...T12 (bảng lương các tháng thì có chữ "T" đứng đầu)

Bây giờ , trong cùng 1 file tôi có thêm các sheet như bảng chấm công hay các sheet khác thì khi chạy code ở sheet "CaNam" thì code tổng hợp tất cả các sheet có trong file!!!!

Tôi có sửa code để chỉ tổng hợp các Sheet T01, T02, ...T12 nhưng chưa được.
Vậy các bạn hướng dẫn & sửa code để nó chỉ lấy số liệu ở các sheet nói trên
Cụ thể nếu ta chọn sheet "CaNam" thì nó tổng hợp tất cả, nếu bỏ sheet C003, NghiLe thì bình thường

Cảm ơn các bạn!
P/s: Sao mình copy code mà nó kg ra từng hàng nhỉ!
Bạn thay
PHP:
If Sh.Name <> "Ca nam" Then
Thành
PHP:
If Left(Sh.Name, 1) = "T" Then
 
Còn 1 dòng tổng nữa chưa viết, khi nào hứng thì viết tiếp. Xài tạm nhiêu đó nha
Cho em hỏi trong file của anh tổng hợp và tô đậm dòng mà thỏa điều kiện là lấy 3 ký tự từ phải sang trái ở B (A000). Bây giờ em muốn đổi cái đó lại là Tô đâm những dòng mà côt B là rỗng. thì code phải chỉnh lại sao hả anh.
Sẵn tiện đây nhờ anh viết tiếp dòng tổng cộng luôn. trân trọng cảm ơn anh.
 
Cho em hỏi trong file của anh tổng hợp và tô đậm dòng mà thỏa điều kiện là lấy 3 ký tự từ phải sang trái ở B (A000). Bây giờ em muốn đổi cái đó lại là Tô đâm những dòng mà côt B là rỗng. thì code phải chỉnh lại sao hả anh.
Sẵn tiện đây nhờ anh viết tiếp dòng tổng cộng luôn. trân trọng cảm ơn anh.
Trong file này nếu cột B là rỗng thì rỗng cả dòng luôn, tô đậm cái quái gì hả trời?
 
Trong file này nếu cột B là rỗng thì rỗng cả dòng luôn, tô đậm cái quái gì hả trời?
Nếu là cột B rỗng thì cột C sẽ có tên Bộ phận đó anh
Nếu cột B khác rỗng thì cột C sẽ là tên nhân viên trong Bộ phận đó.
Ps: "Nếu là cột B rỗng thì cột C sẽ có tên Bộ phận " và tính tổng của bộ phận đó
 
Lần chỉnh sửa cuối:
Nếu là cột B rỗng thì cột C sẽ có tên Bộ phận đó anh
Nếu cột B khác rỗng thì cột C sẽ là tên nhân viên trong Bộ phận đó.
Ps: "Nếu là cột B rỗng thì cột C sẽ có tên Bộ phận " và tính tổng của bộ phận đó
Muốn gì thì phải có file. Bạn không thể dựa trên file khác rồi mô tả file của bạn >>>> cốc có hiểu.
 
Em gởi file anh xem giúp em
Không xem file thì cốc có hiểu, xem rồi cũng cốc có hiểu luôn. Mình thấy trong sheet canam cột B có dòng nào rỗng đâu.
Nếu muốn duyệt xem dòng nào rỗng của cột B rồi định dạng cả dòng tô đậm thì thế này
PHP:
For r = 10 To [B65536].End(3).Row
    If Cells(r, 2) = "" Then
       Cells(r, 1).Resize(, 26).Font.Bold = True
    End If
Next
 
Capture.jpg
Không xem file thì cốc có hiểu, xem rồi cũng cốc có hiểu luôn. Mình thấy trong sheet canam cột B có dòng nào rỗng đâu.
Nếu muốn duyệt xem dòng nào rỗng của cột B rồi định dạng cả dòng tô đậm thì thế này
PHP:
For r = 10 To [B65536].End(3).Row
    If Cells(r, 2) = "" Then
       Cells(r, 1).Resize(, 26).Font.Bold = True
    End If
Next
Cột B bên sheet canam không có ô nào rổng là phải rồi anh. tại vì hiện tại em em copy toàn bộ code cuả anh vô. Nhưng những sheet T10, T09 cột B có những ô rổng (A000 - tiêu đề bộ phận) nên khi bên sheet canam nó không có copy qua.
ý của em muôn anh chỉnh sữa code lại để làm sao các
sheet T09, T10 copy luôn những dòng tiêu đề (Cột B (A000) cột C (Tiêu đề bộ phận)) sang sheet canam.
Đó là hình em mong muốn ở bên canam )những dòng màu vàng tô đậm)
 
Lần chỉnh sửa cuối:
Không xem file thì cốc có hiểu, xem rồi cũng cốc có hiểu luôn. Mình thấy trong sheet canam cột B có dòng nào rỗng đâu.
Nếu muốn duyệt xem dòng nào rỗng của cột B rồi định dạng cả dòng tô đậm thì thế này
PHP:
For r = 10 To [B65536].End(3).Row
    If Cells(r, 2) = "" Then
       Cells(r, 1).Resize(, 26).Font.Bold = True
    End If
Next
Cho em xin mượn file của tác giả và code của anh để em chỉn theo ý của mình. Rất mong được sự giúp đỡ của anh.
Code của anh em chỉnh lại chỗ dòng 9
[GPECODE=vba]Option ExplicitSub tong()
Dim sh As Worksheet, data(), dic As Object, i As Long, r As Long
Dim Res(1 To 10000, 1 To 14), n As Long, k As Long, so
Set dic = CreateObject("scripting.dictionary")
For Each sh In Worksheets
If sh.Name <> "Ca nam" Then
data = sh.Range(sh.[A8], sh.[A65536].End(3)).Resize(, 14).Value
For i = 1 To UBound(data)
If Left(data(i, 2), 1) = "S" Or data(i, 2) = "" Then
If Not dic.exists(data(i, 2)) Then
k = k + 1
dic.Add data(i, 2), k
For n = 1 To 13
Res(k, n) = data(i, n)
Next
If Right(data(i, 2), 3) <> "000" Then
Res(k, 14) = Res(k, 14) + 1
End If
Else
For n = 6 To 13
Res(dic.Item(data(i, 2)), n) = Res(dic.Item(data(i, 2)), n) + data(i, n)
Next
If Right(data(i, 2), 3) <> "000" Then
Res(dic.Item(data(i, 2)), 14) = Res(dic.Item(data(i, 2)), 14) + 1
End If
End If
End If
Next
End If
Next
With Sheets("Ca nam")
.[A8:N1000].ClearContents
.[A8].Resize(k, 14) = Res
.Range(.[A8], .[A65536].End(3)).Resize(, 14).Font.Bold = False
For r = .[B65536].End(3).Row To 8 Step -1
If Right(.Cells(r, 2), 3) = "000" Then
.Cells(r, 2).EntireRow.Font.Bold = True
If r > 8 Then .Cells(r, 2).EntireRow.Insert
Else
.Cells(r, 1) = Val(Right(.Cells(r, 2), 3))
End If
Next
End With
End Sub


[/GPECODE]
Khi qua sheet Cả năm thì tổng hợp bị sai ( sai những dòng mà bên sheet chi tiết cột côt B rỗng).
 

File đính kèm

Lần chỉnh sửa cuối:
Đồng ý với bạn là ai cũng biết xài, nhưng nếu chỉ biết xài thì vô tác dụng bạn ạ. Khi mà chỉ cần thay đổi thì không hiểu sẽ ko biết đường mà thay đổi. Cũng như những hạng mục của mình chẳng hạn. Cách trình bày của bạn không mô tả hết được những gì tớ muốn. Vì trong cột sản phẩm của tớ phải tách ra làm hai cột nhỏ nữa, Vì tớ không rõ nên chỉ bấy nhiêu sự thay đổi đó tớ đã không lần ra rồi. Nếu đã giỏi và đã biết rồi thì tớ đã không lên diễn đàn để tìm sự trợ giúp và học hỏi bạn ạ
Bạn có thể sử dụng hàm thủ công theo file này nhé nếu như không muốn sử dụng VBA dựng sẵn :D
 

File đính kèm

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

Back
Top Bottom