Giúp mình tổng hợp các file thành 1 file để làm báo cáo

Liên hệ QC

topspeed2179

Thành viên mới
Tham gia
24/10/08
Bài viết
49
Được thích
2
Em có cái báo cáo như file đính kèm.
1. Nhờ các anh chị giúp em cộng dồn các sheet của báo cáo vào 1 sheet "Bảng Tổng Hợp" với.
2. Em có tất cả 5 giai đoạn xuất hàng được tổng hợp vào 5 file excel, em muốn khi làm báo cáo sẽ làm động tác đưa tất cả các sheet tương ứng của 5 file vào 1 file "Tổng hợp" (cũng có các sheet tên giống với 5 file kia). Trong file tổng hợp có 1 sheet tên là "Bảng Tổng Hợp" tất cả dữ liệu của các sheet còn lại sẽ được đưa hết vào "Bảng Tổng Hợp" để làm Data cho việc phân tích báo cáo bằng PivotTable.
Nhờ các anh chị trên diễn đàn giúp em với ...đã đến kỳ em phải làm báo cáo rồi.
THANKS các anh chị nhiều !
 
Lần chỉnh sửa cuối:
Em có cái báo cáo như file đính kèm.
1. Nhờ các anh chị giúp em cộng dồn các sheet của báo cáo vào 1 sheet "Bảng Tổng Hợp" với.
2. Em có tất cả 5 giai đoạn xuất hàng được tổng hợp vào 5 file excel, em muốn khi làm báo cáo sẽ làm động tác đưa tất cả các sheet tương ứng của 5 file vào 1 file "Tổng hợp" (cũng có các sheet tên giống với 5 file kia). Trong file tổng hợp có 1 sheet tên là "Bảng Tổng Hợp" tất cả dữ liệu của các sheet còn lại sẽ được đưa hết vào "Bảng Tổng Hợp" để làm Data cho việc phân tích báo cáo bằng PivotTable.
Nhờ các anh chị trên diễn đàn giúp em với ...đã đến kỳ em phải làm báo cáo rồi.
THANKS các anh chị nhiều !
Nói thiệt nhìn qua file của bạn mình hết hồn luôn, ý bạn là gom tất cả các sheet có trong file vào 1 sheet tổng hợp phải không ? Hay là tổng hợp các file vào vào 1 file (Mỗi 1 file tương ứng với 1 sheet có cấu trúc giống nhau). Sau đó kết hợp các sheet này thành 1 sheet tổng hợp có phải vậy không ?
 
à đúng rồi anh Dom ah.
Hiện em gửi file này lên là muốn gộp tất cả các sheet trong file đó thành 1 sheet (giống như làm phép tính gộp vậy anh)
Rồi kế tiếp em có 5 file giống như cái file này nhưng số liệu khác nhau, em muốn gộp lại thành 1 file và đưa qua 1 sheet luon để tiện phân tích bằng Pivot. Anh có thể giúp em được chứ !
 
à đúng rồi anh Dom ah.
Hiện em gửi file này lên là muốn gộp tất cả các sheet trong file đó thành 1 sheet (giống như làm phép tính gộp vậy anh)
Rồi kế tiếp em có 5 file giống như cái file này nhưng số liệu khác nhau, em muốn gộp lại thành 1 file và đưa qua 1 sheet luon để tiện phân tích bằng Pivot. Anh có thể giúp em được chứ !
Đây là đoạn code tổng hợp các sheet trong 1 file vào 1 sheet:
Mã:
Sub TongHopSheet()
Const shTotal = "Bang Tong Hop"
Dim wb As Workbook
Dim sTotal As Worksheet
Dim sh As Worksheet, Rng As Range, ce As Range
Dim sRow As Long, eRow As Long, iRow As Long, iCol As Long
Application.ScreenUpdating = False
Set wb = ActiveWorkbook
iRow = 1
On Error Resume Next
Set sTotal = wb.Sheets(shTotal)
If sTotal Is Nothing Then
    With wb.Sheets.Add
        .Name = shTotal
    End With
    Set sTotal = ActiveSheet
End If
 
sTotal.Cells.Delete
For Each sh In wb.Sheets
    If sh.Name <> shTotal Then
    With sh.UsedRange
 
        iCol = .Columns.Count
        For I = 1 To iCol
            .AutoFilter field:=I, Criteria1:="="
        Next
        Set Rng = .Offset(1, 0).SpecialCells(Type:=xlCellTypeVisible)
        For Each ce In Rng
            ce.EntireRow.Delete
        Next
        sh.ShowAllData
        .AutoFilter
        .Copy Destination:=sTotal.Cells(iRow, 1)
        iRow = sTotal.UsedRange.Rows.Count + 1  ' .Rows.Count + iRow
        Application.CutCopyMode = False
 
    End With
    End If
Next
With sTotal
    .Activate
    .Cells(1, 1).Activate
End With
Set sTotal = Nothing: Set wb = Nothing
Application.ScreenUpdating = True
End Sub
Bạn tham khảo trong file đính kèm xem coi có đúng ý chưa nhe
Thân
 

File đính kèm

ok đúng là như vậy, nhưng anh Dom ơi, mình có chỉ định được là sẽ gộp từ sheet nào đến sheet nào được không anh? Chẳng hạn em muốn gộp các sheet từ "KHACH SAN" đến sheet "KHAC" thôi vì "BANG DO" va "DANH MUC NHA CUNG CAP" dùng để dò chứ k cần đưa vào tính toán.
Với đoạn code ở trên em có thể gộp báo nhiêu sheet cũng được hả anh, hay là nếu thêm bốt số lượng sheet mình phải viết lại code?
Giờ em làm các Bảng tương tự, anh chỉ em các copy đoạn code trên đưa vào đâu nhé.
Nếu có thời gian anh nghiên cứu và giải đáp giúp em là em muốn gộp các sheet của nhiều file vào 1 sheet được không anh?
Cám ơn anh nhiều lắm, em là thành viên mới nhưng được giúp đỡ tận tình quá !
 
ok đúng là như vậy, nhưng anh Dom ơi, mình có chỉ định được là sẽ gộp từ sheet nào đến sheet nào được không anh? Chẳng hạn em muốn gộp các sheet từ "KHACH SAN" đến sheet "KHAC" thôi vì "BANG DO" va "DANH MUC NHA CUNG CAP" dùng để dò chứ k cần đưa vào tính toán.
Với đoạn code ở trên em có thể gộp báo nhiêu sheet cũng được hả anh, hay là nếu thêm bốt số lượng sheet mình phải viết lại code?
Giờ em làm các Bảng tương tự, anh chỉ em các copy đoạn code trên đưa vào đâu nhé.
Nếu có thời gian anh nghiên cứu và giải đáp giúp em là em muốn gộp các sheet của nhiều file vào 1 sheet được không anh?
Cám ơn anh nhiều lắm, em là thành viên mới nhưng được giúp đỡ tận tình quá !
Đoạn code trên sẽ copy tất cả các sheet có trong workbook của bạn, bạn muốn thêm sheet hay xóa sheet đều được.
Dưới đây mình đã chỉnh lại code, khi copy sheet chỉ copy những sheet khác với tên sheet33(BANDO) và sheet34(NHA CC..) thì để lại không copy.
Mã:
Sub TongHopSheet()
Const shTotal = "Bang Tong Hop"
Dim wb As Workbook
Dim sTotal As Worksheet
Dim sh As Worksheet, Rng As Range, ce As Range
Dim sRow As Long, eRow As Long, iRow As Long, iCol As Long
Application.ScreenUpdating = False
Set wb = ActiveWorkbook
iRow = 1
On Error Resume Next
 
Set sTotal = wb.Sheets(shTotal)
If sTotal Is Nothing Then
    With wb.Sheets.Add
        .Name = shTotal
    End With
    Set sTotal = ActiveSheet
End If
 
sTotal.Cells.Delete
For Each sh In wb.Sheets
[COLOR=red]If UCase(sh.CodeName) <> "SHEET33" And UCase(sh.CodeName) <> "SHEET34" Then[/COLOR]
    If sh.Name <> shTotal Then
    With sh.UsedRange
 
        iCol = .Columns.Count
        For I = 1 To iCol
            .AutoFilter field:=I, Criteria1:="="
        Next
        Set Rng = .Offset(1, 0).SpecialCells(Type:=xlCellTypeVisible)
        For Each ce In Rng
            ce.EntireRow.Delete
        Next
        sh.ShowAllData
        .AutoFilter
        .Copy Destination:=sTotal.Cells(iRow, 1)
        iRow = sTotal.UsedRange.Rows.Count + 1  ' .Rows.Count + iRow
        Application.CutCopyMode = False
 
    End With
    End If
    '
 [COLOR=red]End If[/COLOR]
Next
With sTotal
    .Activate
    .Cells(1, 1).Activate
End With
Set sTotal = Nothing: Set wb = Nothing
Application.ScreenUpdating = True
End Sub
Việc gộp các file có tên cố định trong cùng 1 folder vào 1 workbook là việc có thể thực hiện được.
 
Lần chỉnh sửa cuối:
Cám ơn anh Dom,
Anh có thể chỉ giúp em khi làm 1 báo cáo mới bằng macro không?
Thực sự khi em đã có bảng chi tiết giống bảng em up lên diễn đàn nhưng không biết làm sao để đưa đoạn code ấy vào và trong Bang Tong Hop có 1 Control box để click :)...giúp em với nghe anh.
Còn file a đính kèm ở trên là gì vậy? Cty của anh hả? :)
 
Cám ơn anh Dom,
Anh có thể chỉ giúp em khi làm 1 báo cáo mới bằng macro không?
Thực sự khi em đã có bảng chi tiết giống bảng em up lên diễn đàn nhưng không biết làm sao để đưa đoạn code ấy vào và trong Bang Tong Hop có 1 Control box để click :)...giúp em với nghe anh.
Còn file a đính kèm ở trên là gì vậy? Cty của anh hả? :)
Xin lỗi mình đưa lộn file
Bạn xem lại nhé
 

File đính kèm

Thanks anh, chỉ giúp em mấy cái note còn lại anh nhé.
Mỗi lần làm phải save as rồiu copy lại từng sheet qua cái bảng của anh đã làm thì hơi lâu. Anh chỉ em cách làm 1 macro mới của 1 file mới được k?
 
các anh chị ơi giúp em phân tích Pivot cái báo cáo này với....
Em có data đầy đủ nhưng khi cho chạy bằng PivotTable thì nó mất cái đơn giá (dòng tô màu đỏ trong file đính kèm) bên phần "BCCT" (lạ thật, máy cái khác chạy được hết, riêng cái dòng đó là không chạy cụ thể là có 2 cell không chạy!!!
 

File đính kèm

các anh chị ơi giúp em phân tích Pivot cái báo cáo này với....
Em có data đầy đủ nhưng khi cho chạy bằng PivotTable thì nó mất cái đơn giá (dòng tô màu đỏ trong file đính kèm) bên phần "BCCT" (lạ thật, máy cái khác chạy được hết, riêng cái dòng đó là không chạy cụ thể là có 2 cell không chạy!!!
2 Cột: giá vốn và cột giá bán có VAT bạn nên tính giá bình quân, vì nếu không đưa qua trường tính toán thì nó sẽ không hiển thị đúng giá, ví dụ như file của bạn có nhiều mã hàng và 1 mã hàng có 2,3,4... giá thì làm sao ?
Bạn tham khảo file đính kèm nhé
Thân
 

File đính kèm

àh vấn đề này lúc trước em đã làm 1 lần rồi, tính đơn giá bình quân thì hình thức sẽ gọn lại nhưng kết quả sẽ không đúng anh DOM à.
Ví dụ: slg1 (7) x đgia1 (3492) = thành tiền1 (24.444); slg2 (8) x đgia2 (5107) = thành tiền2 (40.865)
Thànhtiền=thànhtiền1+thànhtiền2 = 65.300
Bây giờ sum slg = slg1+slg2=7+8=15; đơn giá bình quân = (đgia1 (3492) + đgia2 (5107))/2 = 4299,5.
Vậy thànhtiền = slg x đgiábìnhquân = 15 x 4299,5 = 64.492,5
Cho nên 2 kết quả tô đen khác nhau
Lần trước em làm theo các đó ==>> sai !!!
Các anh chị có cách nào giúp em tính giá bình quân mà không bị sai giống vậy thì giải đáp giúp em với :(
 
Bạn thử chỉnh lại thứ tự các cột trong pivottable như sau nhé:
Mã hàng Tên hàng GiaBán BanCóVAT GiaVốn ĐVT Slg Tiền Vốn TiếnBan TiềnBánVAT
Thân
 
Nếu sắp xếp lại theo thứ tự của anh thì ok, nhưng cái dòng em tô màu đỏ sẽ không hiển thị cột ĐVT, còn sắp xếp theo cách của em là Mã hàng Tên hàng ĐVT GiaVốn GiaBán BanCóVAT Slg Tiền Vốn TiếnBan TiềnBánVAT thì cột GiaBán BanCóVAT không hiển thị được.
Mà lý do tại sao khi mình hoán đổi vị trí các trường nó xảy ra trường hợp này vậy anh?
 
Nếu sắp xếp lại theo thứ tự của anh thì ok, nhưng cái dòng em tô màu đỏ sẽ không hiển thị cột ĐVT, còn sắp xếp theo cách của em là Mã hàng Tên hàng ĐVT GiaVốn GiaBán BanCóVAT Slg Tiền Vốn TiếnBan TiềnBánVAT thì cột GiaBán BanCóVAT không hiển thị được.
Mà lý do tại sao khi mình hoán đổi vị trí các trường nó xảy ra trường hợp này vậy anh?
Vùng tô mày xanh của các chữ là vùng để group dữ liệu, còn vùng chữ màu đen là vùng tính toán dựa trên vùng group. Nên các ô trống lý do là nó hiểu dòng trước đó có rồi, giống như trộn vậy.
Thân
 
uhm...vậy bây giờ làm sao cho nó hiển thị ra hết hà anh? chứ báo cáo mà khuyết máy cell coi sao được. em chỉ hóan đổi vị trí của các chữ màu xanh với nhau thôi, còn chữ màu đen thì để nguyên mà nó vẫn không hiển thị. Rồi cái file anh đã làm giúp em thì nó không hiển thị cột Đơn giá...giờ làm sao hả anh?
 
Anh DOM ơi hình như trong cái file anh làm, toàn bộ cái mã "2610791000011" đều bị khuyết mục "GiáBán" và "BánCóVAT" giống cài dòng tô màu đỏ đó !!!
Có cách nào giúp em giải quyết cái lỗi này với !
 
Anh DOM ơi hình như trong cái file anh làm, toàn bộ cái mã "2610791000011" đều bị khuyết mục "GiáBán" và "BánCóVAT" giống cài dòng tô màu đỏ đó !!!
Có cách nào giúp em giải quyết cái lỗi này với !
Nếu bạn muốn nó hiện giá lên thì bạn rê chuột về ô trống đó double click lên là OK
Bạn xem file đính kèm nhé
Thân
 

File đính kèm

Web KT

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

Back
Top Bottom