TỰ ĐỘNG THÊM TỔNG CHO TỪNG MẶT HÀNG

Liên hệ QC

vubinh099

Thành viên mới
Tham gia
30/10/15
Bài viết
43
Được thích
4
Hi a/c,
Tình hình là em có 1 sheet data nhập hàng, và 1 form báo cáo tổng hợp nhập hàng. Form báo cáo này em sẽ group các mặt hàng giống nhau và thêm Tổng trên từng mặt hàng, tổng cuối trang.
Vấn đề là em phải báo cáo thường xuyên và form không được thay đổi, mỗi lần thêm dòng Tổng rất mất thời gian. Em rất gà về VBA nên nghiên cứu mãi chả biết viết code kiểu gì để kết xuất được báo cáo này.
Nhờ các anh chị cao thủ giúp em với.

Cảm ơn rất nhiều ạ!
 

File đính kèm

Hi a/c,
Tình hình là em có 1 sheet data nhập hàng, và 1 form báo cáo tổng hợp nhập hàng. Form báo cáo này em sẽ group các mặt hàng giống nhau và thêm Tổng trên từng mặt hàng, tổng cuối trang.
Vấn đề là em phải báo cáo thường xuyên và form không được thay đổi, mỗi lần thêm dòng Tổng rất mất thời gian. Em rất gà về VBA nên nghiên cứu mãi chả biết viết code kiểu gì để kết xuất được báo cáo này.
Nhờ các anh chị cao thủ giúp em với.

Cảm ơn rất nhiều ạ!
1/ Tổng hợp, báo cáo thì sử dụng PivotTable (tuyệt đỉnh của Excel).
2/ Còn muốn như mẫu ở sheet FORM BAO CAO, thì cũng sử dụng PivotTable và thêm vài thủ thuật nữa.

A_PIvot.JPG
 

File đính kèm

Upvote 0
Hi a/c,
Tình hình là em có 1 sheet data nhập hàng, và 1 form báo cáo tổng hợp nhập hàng. Form báo cáo này em sẽ group các mặt hàng giống nhau và thêm Tổng trên từng mặt hàng, tổng cuối trang.
Vấn đề là em phải báo cáo thường xuyên và form không được thay đổi, mỗi lần thêm dòng Tổng rất mất thời gian. Em rất gà về VBA nên nghiên cứu mãi chả biết viết code kiểu gì để kết xuất được báo cáo này.
Nhờ các anh chị cao thủ giúp em với.
Cảm ơn rất nhiều ạ!
Thử:
PHP:
Sub abc()
    Dim i&, LR&, Cll As Range
    Application.ScreenUpdating = False
       With Sheets("DATA")
        Range("F2:F26").FormulaR1C1 = "=RIGHT(RC[-5],1)"
        LR = .Range("A60000").End(xlUp).Row
        Range("A2:f" & LR).Sort [F2], 1
    End With
    For i = LR To 2 Step -1
        If Cells(i - 1, 1) <> Cells(i, 1) Then
            Rows(i).Insert
        End If
    Next
    For Each Cll In Columns("E").SpecialCells(2, 1).Areas
        With Cll(Cll.Count + 1)
            .Formula = "=sum(" & Cll.Address & ")"
            .EntireRow.Font.Bold = True
           .EntireRow.Font.ColorIndex = 3
        End With
    Next
Range("A3:A" & Range("A" & Rows.Count).End(3).Row + 1).SpecialCells(4).Value = "=R[-1]C"
Range("C3:D" & Range("A" & Rows.Count).End(3).Row + 1).SpecialCells(4).Value = "=R[-1]C"
Rows("2:2").Delete: Cells(Rows.Count, 4).End(3).EntireRow.Delete: Columns(6).Delete
Application.ScreenUpdating = True
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
Thử:
PHP:
Sub abc()
    Dim i&, LR&, Cll As Range
    Application.ScreenUpdating = False
       With Sheets("DATA")
        Range("F2:F26").FormulaR1C1 = "=RIGHT(RC[-5],1)"
        LR = .Range("A60000").End(xlUp).Row
        Range("A2:f" & LR).Sort [F2], 1
    End With
    For i = LR To 2 Step -1
        If Cells(i - 1, 1) <> Cells(i, 1) Then
            Rows(i).Insert
        End If
    Next
    For Each Cll In Columns("E").SpecialCells(2, 1).Areas
        With Cll(Cll.Count + 1)
            .Formula = "=sum(" & Cll.Address & ")"
            .EntireRow.Font.Bold = True
           .EntireRow.Font.ColorIndex = 3
        End With
    Next
Range("A3:A" & Range("A" & Rows.Count).End(3).Row + 1).SpecialCells(4).Value = "=R[-1]C"
Range("C3:D" & Range("A" & Rows.Count).End(3).Row + 1).SpecialCells(4).Value = "=R[-1]C"
Rows("2:2").Delete: Cells(Rows.Count, 4).End(3).EntireRow.Delete: Columns(6).Delete
Application.ScreenUpdating = True
End Sub

CÁM ƠN BẠN!

Bạn có thể giải thích các dòng code giúp mình không. Mình rất gà vụ này.
Cám ơn bạn nhiều!
Bài đã được tự động gộp:

1/ Tổng hợp, báo cáo thì sử dụng PivotTable (tuyệt đỉnh của Excel).
2/ Còn muốn như mẫu ở sheet FORM BAO CAO, thì cũng sử dụng PivotTable và thêm vài thủ thuật nữa.

View attachment 201591
CÁM ƠN BẠN!

Mình đã thử pivot và đã ra kết quả. File này chỉ là ví dụ. Còn file của mình nó có nhiều thông tin khác nữa nên phải qua nhiều công đoạn mới ra được kết quả.
Bài đã được tự động gộp:

Tìm hiểu về Privot đi ( sheet 3)...
Cám ơn bạn!
 
Upvote 0
Web KT

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

Back
Top Bottom