• CHÈN DÒNG TÍNH TỔNG VÀO BẢNG
  • CHÈN DÒNG TÍNH TỔNG VÀO BẢNG

    yamakashi2003 > 16-02-20, 12:12 AM

    Em chào các bác trong group ạ,
    Các bác cho em hỏi nếu em có 1 bảng gồm nhiều cột (hình đính kèm),
    https://drive.google.com/file/d/1LAU6DqW...sp=sharing
    Giờ em muốn chèn thêm 1 dòng tính tổng của cột "số lượng quà" vào giữa bảng, tại vị trí dưới từng loại hàng trong cột "ghi chú", dòng tính tổng tính tổng của "số lượng quà" theo từng mặt hàng trong cột ghi chú   (hình đính kèm 2) 
    https://drive.google.com/file/d/1v2-_Frq...sp=sharing
    Liệu trong vba có code nào thực hiện việc đó không ạ, mong các bác chỉ dẫn giúp, em xin cảm ơn ạ
    Liệu có thể viết code kiểu dữ liệu động không ạ, tức là dữ liệu tăng lên trăm dòng thì code đó vẫn áp dụng để chèn dòng và tính tổng được ạ
    Mong các bác chỉ dẫn giúp, em xin cảm ơn ạ
    Em có gửi kèm file excel ví dụ ạ
    https://drive.google.com/file/d/1ihH1FWB...sp=sharing
  • RE: CHÈN DÒNG TÍNH TỔNG VÀO BẢNG

    ongke0711 > 16-02-20, 12:56 AM

    (16-02-20, 12:12 AM)yamakashi2003 Đã viết: Em chào các bác trong group ạ,
    Các bác cho em hỏi nếu em có 1 bảng gồm nhiều cột (hình đính kèm),
    https://drive.google.com/file/d/1LAU6DqW...sp=sharing
    Giờ em muốn chèn thêm 1 dòng tính tổng của cột "số lượng quà" vào giữa bảng, tại vị trí dưới từng loại hàng trong cột "ghi chú", dòng tính tổng tính tổng của "số lượng quà" theo từng mặt hàng trong cột ghi chú   (hình đính kèm 2) 
    https://drive.google.com/file/d/1v2-_Frq...sp=sharing
    Liệu trong vba có code nào thực hiện việc đó không ạ, mong các bác chỉ dẫn giúp, em xin cảm ơn ạ
    Liệu có thể viết code kiểu dữ liệu động không ạ, tức là dữ liệu tăng lên trăm dòng thì code đó vẫn áp dụng để chèn dòng và tính tổng được ạ
    Mong các bác chỉ dẫn giúp, em xin cảm ơn ạ
    Em có gửi kèm file excel ví dụ ạ
    https://drive.google.com/file/d/1ihH1FWB...sp=sharing

    Nếu làm trong Excel thì sao bạn không dùng công cụ SubTotal có sẳn trên thanh Menu của nó cho nhanh cần gì VBA.
  • RE: CHÈN DÒNG TÍNH TỔNG VÀO BẢNG

    yamakashi2003 > 16-02-20, 01:39 AM

    (16-02-20, 12:56 AM)ongke0711 Đã viết:
    (16-02-20, 12:12 AM)yamakashi2003 Đã viết: Em chào các bác trong group ạ,
    Các bác cho em hỏi nếu em có 1 bảng gồm nhiều cột (hình đính kèm),
    https://drive.google.com/file/d/1LAU6DqW...sp=sharing
    Giờ em muốn chèn thêm 1 dòng tính tổng của cột "số lượng quà" vào giữa bảng, tại vị trí dưới từng loại hàng trong cột "ghi chú", dòng tính tổng tính tổng của "số lượng quà" theo từng mặt hàng trong cột ghi chú   (hình đính kèm 2) 
    https://drive.google.com/file/d/1v2-_Frq...sp=sharing
    Liệu trong vba có code nào thực hiện việc đó không ạ, mong các bác chỉ dẫn giúp, em xin cảm ơn ạ
    Liệu có thể viết code kiểu dữ liệu động không ạ, tức là dữ liệu tăng lên trăm dòng thì code đó vẫn áp dụng để chèn dòng và tính tổng được ạ
    Mong các bác chỉ dẫn giúp, em xin cảm ơn ạ
    Em có gửi kèm file excel ví dụ ạ
    https://drive.google.com/file/d/1ihH1FWB...sp=sharing

    Nếu làm trong Excel thì sao bạn không dùng công cụ SubTotal có sẳn trên thanh Menu của nó cho nhanh cần gì VBA.
    dạ do em làm ca tối, lắm lúc 10 h hết ca mà 10 r chưa về vì làm báo cáo nên là muốn học hỏi anh chị thêm kiến thức để làm 1 công cụ tự động hóa hết, in báo cáo cho nhanh ạ
  • RE: CHÈN DÒNG TÍNH TỔNG VÀO BẢNG

    ongke0711 > 16-02-20, 01:47 PM

    (16-02-20, 01:39 AM)yamakashi2003 Đã viết: Nếu làm trong Excel thì sao bạn không dùng công cụ SubTotal có sẳn trên thanh Menu của nó cho nhanh cần gì VBA.
    dạ do em làm ca tối, lắm lúc 10 h hết ca mà 10 r chưa về vì làm báo cáo nên là muốn học hỏi anh chị thêm kiến thức để làm 1 công cụ tự động hóa hết, in báo cáo cho nhanh ạ
    [/quote]

    Nếu muốn chuyên VBA cho Excel thì bạn qua bên giải pháp Excel cho nhanh.
    File Excel này của bạn đã được sắp xếp sẳn theo Loại hàng của cột "Ghi chú" chưa? và bạn có đảm bảo (về mặt chính tả) Tên mặt hàng là giống nhau?
    Ví dụ: "Dầu gội 340ml" sẽ khác với "Dầu gội 340 ml" --> có khoảng trắng
    Nếu dùng mã hàng sẽ chính xác cao hơn dùng Tên. Đó là lý do tại sao Access hay CSDL nói chung quản lý các dòng dữ liệu theo "Khoá chính - Primary Key" hoặc "Khoá ngoại - Foreign key" để đảm bảo tính chính xác của dữ liệu. 
  • RE: CHÈN DÒNG TÍNH TỔNG VÀO BẢNG

    yamakashi2003 > 16-02-20, 03:41 PM

    (16-02-20, 01:47 PM)ongke0711 Đã viết:
    (16-02-20, 01:39 AM)yamakashi2003 Đã viết: Nếu làm trong Excel thì sao bạn không dùng công cụ SubTotal có sẳn trên thanh Menu của nó cho nhanh cần gì VBA.
    dạ do em làm ca tối, lắm lúc 10 h hết ca mà 10 r chưa về vì làm báo cáo nên là muốn học hỏi anh chị thêm kiến thức để làm 1 công cụ tự động hóa hết, in báo cáo cho nhanh ạ

    Nếu muốn chuyên VBA cho Excel thì bạn qua bên giải pháp Excel cho nhanh.
    File Excel này của bạn đã được sắp xếp sẳn theo Loại hàng của cột "Ghi chú" chưa? và bạn có đảm bảo (về mặt chính tả) Tên mặt hàng là giống nhau?
    Ví dụ: "Dầu gội 340ml" sẽ khác với "Dầu gội 340 ml" --> có khoảng trắng
    Nếu dùng mã hàng sẽ chính xác cao hơn dùng Tên. Đó là lý do tại sao Access hay CSDL nói chung quản lý các dòng dữ liệu theo "Khoá chính - Primary Key" hoặc "Khoá ngoại - Foreign key" để đảm bảo tính chính xác của dữ liệu. 
    [/quote]
    em dùng form nhập liệu nên dữ liệu ghi chú sẽ giống nhau hết mà bác,
    em có sang bên giải pháp excel nhưng toàn nhận được ibox làm có trả phí k có ai hướng dẫn bác ạ
  • RE: CHÈN DÒNG TÍNH TỔNG VÀO BẢNG

    thuyyeu99 > 16-02-20, 03:59 PM

    016
  • RE: CHÈN DÒNG TÍNH TỔNG VÀO BẢNG

    Xuân Thanh > 16-02-20, 04:20 PM

    Chép đoạn code sau vào một modul và chạy nó. Yêu cầu các tên hàng hóa phải thống nhất như ongke0711 đã nói ở trên

    Mã:
    Sub ABC()
        Dim sh As Worksheet, i As Long, j As Long, n As Long
        Set sh = Sheet1
        With sh
            n = .Range("G10000").End(xlUp).Row
            For i = n To 3 Step -1
                If .Range("G" & i) <> .Range("G" & i + 1) Then
                    .Range("G" & i + 1).EntireRow.Insert
                    .Range("B" & i + 1) = "TÔNG"
                End If
            Next
            n = .Range("G10000").End(xlUp).Row
            j = 3
            For i = 3 To n + 1
                If .Range("B" & i) = "TÔNG" Then
                    .Range("F" & i) = "=SUM(R" & j & "C6:R" & i - 1 & "C6)"
                    .Range("F" & i).Value = .Range("F" & i).Value
                    .Range("B" & i & ":F" & i).Font.Bold = True
                    j = i + 1
                End If           
            Next
        End With
    End Sub
  • RE: CHÈN DÒNG TÍNH TỔNG VÀO BẢNG

    thuyyeu99 > 16-02-20, 04:31 PM

    Cái này nếu dữ liệu nhiều bạn nên đưa vào mãng, xử lý xong rồi đưa vào lại vào sheet.
  • RE: CHÈN DÒNG TÍNH TỔNG VÀO BẢNG

    tranthanhan1962 > 16-02-20, 04:34 PM

    (16-02-20, 03:41 PM)yamakashi2003 Đã viết: em dùng form nhập liệu nên dữ liệu ghi chú sẽ giống nhau hết mà bác,
    em có sang bên giải pháp excel nhưng toàn nhận được ibox làm có trả phí k có ai hướng dẫn bác ạ
    Đó là sự khác biệt giữa giaiphapexcel.com và thuthuataccess.com. nhưng mình không đề cập đến nó. Đúng như ongke0711 đã nói không cần phải xử lý VBA gì cả, dùng subtotal là xong.
    Cách làm cũng không khó:
    [Hình: HBhaIep.jpg]
    Bạn trên bạn phải có ít nhất 1 ô hiện hành nằm trong bảng, trên ribbon chọn Tab Data -> Subtotal, Hiện giao diện Subtotal. Ở combobox As each change in chọn [Ghi chú] (tính nhóm cho Ghi chú), trên combobox use function chọn Sum (Tổng của các nhóm Số lượng quà) trên listbox Subtotal check vào Số lượng quà, vậy là xong.
  • RE: CHÈN DÒNG TÍNH TỔNG VÀO BẢNG

    Xuân Thanh > 16-02-20, 04:57 PM

    SubToTal Trong Excel là một hàm tổng hợp theo nhóm. Làm theo hướng dẫn của tranthanhan1962 bạn sẽ thấy bên trái bảng tính có các dấu cộng, trừ. Thử click vào các dấu đó bạn sẽ thấy việc phân nhóm được Excel thực hiện như thế nào. Lưu ý là trong các nhóm thì tên phải đi liền nhau nếu không SubToTal sẽ không cho kết quả đúng
    Nếu sử dụng VBA thì không có các dấu phân nhóm đó