Giúp e với ạ

Có anh chị nào rành excel cho e hỏi với ạ:
Em có file excel gồm nhiều sheet , giờ e muốn có 1 sheet tổng hợp lại dữ liệu của mấy sheet kia thì làm như nào ạ.
Giúp em với, e bế tắc quá hix
Em cảm ơn nhiều.
 
Có anh chị nào rành excel cho e hỏi với ạ:
Em có file excel gồm nhiều sheet , giờ e muốn có 1 sheet tổng hợp lại dữ liệu của mấy sheet kia thì làm như nào ạ.
Giúp em với, e bế tắc quá hix
Em cảm ơn nhiều.
Cụ thể là bạn muốn copy sang 1 sheets hay làm báo cáo tổng hợp với số liệu lấy từ các sheets chi tiết
 
Ý em là cái file đó gồm nhiều sheet. Mỗi sheet là tất cả các khoản chi cho 1 công trình. Giờ e muốn tổng hợp lại dữ liệu từ các sheet đó, gồm nội dung và số liệu luôn. Tổng hợp lại và sort nó theo thứ tự ngày, để biết được tổng chi của từng ngày.
Tại file đó có nhiều thông tin nội bộ, e ko tiện share hix
 
Ý em là cái file đó gồm nhiều sheet. Mỗi sheet là tất cả các khoản chi cho 1 công trình. Giờ e muốn tổng hợp lại dữ liệu từ các sheet đó, gồm nội dung và số liệu luôn. Tổng hợp lại và sort nó theo thứ tự ngày, để biết được tổng chi của từng ngày.
Tại file đó có nhiều thông tin nội bộ, e ko tiện share hix
Như vậy cấu trúc về các cột của các sheets đó giống nhau hết chứ hay là có khác nhau. Bạn nên attach file mẫu nên thì mọi người nhìn mới dễ được
 
Em gửi file mọi người xem nhá e xin phép xóa nội dung, các cột giống nhau.
Giờ e muốn tổng hợp các dòng có ngày từ các sheet này vào 1 sheet tổng hợp, dòng sub total mỗi file khác nhau nên bỏ qua.
 

Đính kèm

Em gửi file mọi người xem nhá e xin phép xóa nội dung, các cột giống nhau.
Giờ e muốn tổng hợp các dòng có ngày từ các sheet này vào 1 sheet tổng hợp, dòng sub total mỗi file khác nhau nên bỏ qua.
Những file thế này thì chỉ có dùng VBA mới copy, paste nhanh được
Nếu bạn biết về VBA có thể tham khảo đoạn code sau:
Sub TachSheet()
Dim ShCSDL As Worksheet
Dim ShDich As Worksheet
Dim I&, J&, LoaiPhieu As String
Dim I_D&
Set ShCSDL = Sheets("CSDL")
Application.DisplayAlerts = False
For I = 4 To ShCSDL.Range("A65536").End(xlUp).Row
LoaiPhieu = ShCSDL.Cells(I, 1).Value
If Not SheetExists(LoaiPhieu) Then
Set ShDich = Sheets.Add
ShDich.Name = LoaiPhieu
Else
Set ShDich = Sheets(LoaiPhieu)
End If
'Ghi du lieu sang sheet moi
'Lay dong cuoi sheet moi
I_D = ShDich.Range("A65536").End(xlUp).Row + 1
If I_D < 4 Then I_D = 4
For J = 1 To 9
ShDich.Cells(I_D, J).Value = ShCSDL.Cells(I, J).Value
Next J
Next
End Sub
 
Những file thế này thì chỉ có dùng VBA mới copy, paste nhanh được
Nếu bạn biết về VBA có thể tham khảo đoạn code sau:
Sub TachSheet()
Dim ShCSDL As Worksheet
Dim ShDich As Worksheet
Dim I&, J&, LoaiPhieu As String
Dim I_D&
Set ShCSDL = Sheets("CSDL")
Application.DisplayAlerts = False
For I = 4 To ShCSDL.Range("A65536").End(xlUp).Row
LoaiPhieu = ShCSDL.Cells(I, 1).Value
If Not SheetExists(LoaiPhieu) Then
Set ShDich = Sheets.Add
ShDich.Name = LoaiPhieu
Else
Set ShDich = Sheets(LoaiPhieu)
End If
'Ghi du lieu sang sheet moi
'Lay dong cuoi sheet moi
I_D = ShDich.Range("A65536").End(xlUp).Row + 1
If I_D < 4 Then I_D = 4
For J = 1 To 9
ShDich.Cells(I_D, J).Value = ShCSDL.Cells(I, J).Value
Next J
Next
End Sub
Em có học sơ qua VBA mà giờ quên mất tiêu.
Để em xem lại, e cảm ơn nhé
 
Back
Top