Nhờ giúp đỡ tính tổng sau khi sắp xếp

Liên hệ QC

prince205

Thành viên mới
Tham gia
20/2/09
Bài viết
23
Được thích
0
Kính chào các bác!
Em có trường hợp này, kính nhờ các bác giúp em với ah:
Em hàng ngày đều phải làm báo cáo tình hình bán hàng ngày hôm trước. Sau khi sắp xếp dữ liệu theo mặt hàng xong em muốn có dòng tổng cộng bên dưới và dòng tổng cộng tất cả các mặt hàng. Hàng ngày em đều làm thủ công vất vả và hay bị nhầm lẫn lắm ah, kính nhờ các bác giúp em code VBA để tự động tính giúp em với ah.
Chi tiết dữ liệu và demo kết quả mong muốn em gửi theo file ví dụ ah.
Trân trọng cảm ơn các bác./.
 

File đính kèm

  • Tinh tong sau khi sap xep.xlsx
    10.2 KB · Đọc: 16
Kính chào các bác!
Em có trường hợp này, kính nhờ các bác giúp em với ah:
Em hàng ngày đều phải làm báo cáo tình hình bán hàng ngày hôm trước. Sau khi sắp xếp dữ liệu theo mặt hàng xong em muốn có dòng tổng cộng bên dưới và dòng tổng cộng tất cả các mặt hàng. Hàng ngày em đều làm thủ công vất vả và hay bị nhầm lẫn lắm ah, kính nhờ các bác giúp em code VBA để tự động tính giúp em với ah.
Chi tiết dữ liệu và demo kết quả mong muốn em gửi theo file ví dụ ah.
Trân trọng cảm ơn các bác./.
Bạn tham khảo....
 

File đính kèm

  • Tinh tong sau khi sap xep.xlsx
    11.3 KB · Đọc: 9
Upvote 0
Cảm ơn bác nhưng bác hiểu nhầm ý mình rồi. Ý mình là hàng ngày mình đều có bảng danh sách, chỉ là chưa có dòng tổng cộng dưới các mặt hàng và toàn bộ mặt hàng nên mình muốn có nhờ giúp đỡ code chỉ cần chạy cái là tự động thêm dòng tổng vào dưới các mặt hàng và toàn bộ mặt hàng đó. Còn nếu làm thủ công thì mình cũng không cần dùng đến hàm phức tạp như bạn, mình insert thêm dòng dưới mặt hàng rồi dùng hàm Sum là xong mà.
 
Upvote 0
Kính chào các bác!
Em có trường hợp này, kính nhờ các bác giúp em với ah:
Em hàng ngày đều phải làm báo cáo tình hình bán hàng ngày hôm trước. Sau khi sắp xếp dữ liệu theo mặt hàng xong em muốn có dòng tổng cộng bên dưới và dòng tổng cộng tất cả các mặt hàng. Hàng ngày em đều làm thủ công vất vả và hay bị nhầm lẫn lắm ah, kính nhờ các bác giúp em code VBA để tự động tính giúp em với ah.
Chi tiết dữ liệu và demo kết quả mong muốn em gửi theo file ví dụ ah.
Trân trọng cảm ơn các bác./.
1/ Tiếng Việt không có chữ "ah"
2/ Tôi làm biếng viết tiếng Việt có dấu trong VBA, bạn tùy chỉnh nhé.
3/ Bảng kết quả bán hàng phải Sort các mặt hàng cho nó nằm liên tục nhé.
PHP:
Option Explicit

Public Sub Gpe()
Dim sArr(), dArr(), TenHang As String
Dim I As Long, J As Long, K As Long, R As Long, STT As Long, TongHang As Double, TongCong As Double
    sArr = Range("A7", Range("D10000").End(xlUp)).Value
    R = UBound(sArr)
ReDim dArr(1 To R * 2 + 1, 1 To 4)
    TenHang = sArr(1, 3)
For I = 1 To R
    If sArr(I, 3) <> TenHang Then
        K = K + 1
        dArr(K, 2) = "Tong " & TenHang & ":"
        dArr(K, 4) = TongHang
        TongHang = 0
        TenHang = sArr(I, 3)
    End If
    K = K + 1
    STT = STT + 1
        dArr(K, 1) = STT
        dArr(K, 2) = sArr(I, 2)
        dArr(K, 3) = sArr(I, 3)
        dArr(K, 4) = sArr(I, 4)
        TongHang = TongHang + sArr(I, 4)
        TongCong = TongCong + sArr(I, 4)
Next I
    K = K + 1
    dArr(K, 2) = "Tong " & TenHang & ":"
    dArr(K, 4) = TongHang
    K = K + 1
    dArr(K, 2) = "TONG CONG:"
    dArr(K, 4) = TongCong
    Range("K7").Resize(K, 4) = dArr
    Range("K7").Resize(K, 4).Borders.LineStyle = 1
End Sub
 

File đính kèm

  • Tinh tong sau khi sap xep.xlsb
    19.6 KB · Đọc: 15
Upvote 0
Cảm ơn bác nhưng bác hiểu nhầm ý mình rồi. Ý mình là hàng ngày mình đều có bảng danh sách, chỉ là chưa có dòng tổng cộng dưới các mặt hàng và toàn bộ mặt hàng nên mình muốn có nhờ giúp đỡ code chỉ cần chạy cái là tự động thêm dòng tổng vào dưới các mặt hàng và toàn bộ mặt hàng đó. Còn nếu làm thủ công thì mình cũng không cần dùng đến hàm phức tạp như bạn, mình insert thêm dòng dưới mặt hàng rồi dùng hàm Sum là xong mà.
Mình quên mất đây là bên lập trình, xin lỗi nhé.
 
Upvote 0
1/ Tiếng Việt không có chữ "ah"
2/ Tôi làm biếng viết tiếng Việt có dấu trong VBA, bạn tùy chỉnh nhé.
3/ Bảng kết quả bán hàng phải Sort các mặt hàng cho nó nằm liên tục nhé.
PHP:
Option Explicit

Public Sub Gpe()
Dim sArr(), dArr(), TenHang As String
Dim I As Long, J As Long, K As Long, R As Long, STT As Long, TongHang As Double, TongCong As Double
    sArr = Range("A7", Range("D10000").End(xlUp)).Value
    R = UBound(sArr)
ReDim dArr(1 To R * 2 + 1, 1 To 4)
    TenHang = sArr(1, 3)
For I = 1 To R
    If sArr(I, 3) <> TenHang Then
        K = K + 1
        dArr(K, 2) = "Tong " & TenHang & ":"
        dArr(K, 4) = TongHang
        TongHang = 0
        TenHang = sArr(I, 3)
    End If
    K = K + 1
    STT = STT + 1
        dArr(K, 1) = STT
        dArr(K, 2) = sArr(I, 2)
        dArr(K, 3) = sArr(I, 3)
        dArr(K, 4) = sArr(I, 4)
        TongHang = TongHang + sArr(I, 4)
        TongCong = TongCong + sArr(I, 4)
Next I
    K = K + 1
    dArr(K, 2) = "Tong " & TenHang & ":"
    dArr(K, 4) = TongHang
    K = K + 1
    dArr(K, 2) = "TONG CONG:"
    dArr(K, 4) = TongCong
    Range("K7").Resize(K, 4) = dArr
    Range("K7").Resize(K, 4).Borders.LineStyle = 1
End Sub
Cảm ơn bác rất nhiều!
Bài đã được tự động gộp:

1/ Tiếng Việt không có chữ "ah"
2/ Tôi làm biếng viết tiếng Việt có dấu trong VBA, bạn tùy chỉnh nhé.
3/ Bảng kết quả bán hàng phải Sort các mặt hàng cho nó nằm liên tục nhé.
PHP:
Option Explicit

Public Sub Gpe()
Dim sArr(), dArr(), TenHang As String
Dim I As Long, J As Long, K As Long, R As Long, STT As Long, TongHang As Double, TongCong As Double
    sArr = Range("A7", Range("D10000").End(xlUp)).Value
    R = UBound(sArr)
ReDim dArr(1 To R * 2 + 1, 1 To 4)
    TenHang = sArr(1, 3)
For I = 1 To R
    If sArr(I, 3) <> TenHang Then
        K = K + 1
        dArr(K, 2) = "Tong " & TenHang & ":"
        dArr(K, 4) = TongHang
        TongHang = 0
        TenHang = sArr(I, 3)
    End If
    K = K + 1
    STT = STT + 1
        dArr(K, 1) = STT
        dArr(K, 2) = sArr(I, 2)
        dArr(K, 3) = sArr(I, 3)
        dArr(K, 4) = sArr(I, 4)
        TongHang = TongHang + sArr(I, 4)
        TongCong = TongCong + sArr(I, 4)
Next I
    K = K + 1
    dArr(K, 2) = "Tong " & TenHang & ":"
    dArr(K, 4) = TongHang
    K = K + 1
    dArr(K, 2) = "TONG CONG:"
    dArr(K, 4) = TongCong
    Range("K7").Resize(K, 4) = dArr
    Range("K7").Resize(K, 4).Borders.LineStyle = 1
End Sub
Bác cho em hỏi có cách nào tính tổng luôn ở bảng mà không phải di chuyển ra vùng dữ liệu mới không ạ? Ý em là ngay tại báo cáo (cột A đến cột D) thực hiện thêm dòng tổng phía dưới mặt hàng và dòng tổng cuối cùng mà không cần phải thêm vùng phụ (cột K đến cột N theo file bác gửi) ấy ạ. Em cảm ơn bác!
 
Lần chỉnh sửa cuối:
Upvote 0
Cảm ơn bác rất nhiều!
Bài đã được tự động gộp:


Bác cho em hỏi có cách nào tính tổng luôn ở bảng mà không phải di chuyển ra vùng dữ liệu mới không ạ? Ý em là ngay tại báo cáo (cột A đến cột D) thực hiện thêm dòng tổng phía dưới mặt hàng và dòng tổng cuối cùng mà không cần phải thêm vùng phụ (cột K đến cột N theo file bác gửi) ấy ạ. Em cảm ơn bác!

Thay :
Range("K7").Resize(K, 4) = dArr
Range("K7").Resize(K, 4).Borders.LineStyle = 1
Bằng :
Range("A7").Resize(K, 4) = dArr
Range("A7").Resize(K, 4).Borders.LineStyle = 1
 
Upvote 0
Cảm ơn bác! Nhờ bác giúp em bôi đậm các dòng tổng nữa với ạ!
bạn thêm đoạn code này vào sau dòng Range("A7").Resize(K, 4).Borders.LineStyle = 1

For J = 7 To Range("C" & Rows.Count).End(3).Roư
If Range("A" & J) = Empty Then
Range("A" & J, "D" & J).Font.Bold = True
End If
Next J

tôi chỉ biết làm bằng cách này thôi.
 
Upvote 0
Cảm ơn bác rất nhiều!
Bài đã được tự động gộp:


Bác cho em hỏi có cách nào tính tổng luôn ở bảng mà không phải di chuyển ra vùng dữ liệu mới không ạ? Ý em là ngay tại báo cáo (cột A đến cột D) thực hiện thêm dòng tổng phía dưới mặt hàng và dòng tổng cuối cùng mà không cần phải thêm vùng phụ (cột K đến cột N theo file bác gửi) ấy ạ. Em cảm ơn bác!
Bấm nút tính tổng rồi buồn buồn bấm nút vài lần nữa thì cái bảng nó ra cái gì?
 
Upvote 0
Kính chào các bác! Lại là em đây ạ. Sau khi được các bác hướng dẫn tận tình, em đã lên được form báo cáo nhưng hiện tại vẫn còn chút vướng mắc như sau ạ: Sau khi em chạy dòng code thì báo cáo của em nó không tính tổng mặt hàng cuối cùng ạ. Em gửi file lên đây nhờ các bác chỉ bảo thêm cho em với. Em xin chân thành cảm ơn!
 

File đính kèm

  • Bao cao ban hang.XLS
    34.5 KB · Đọc: 9
Upvote 0
Kính chào các bác! Lại là em đây ạ. Sau khi được các bác hướng dẫn tận tình, em đã lên được form báo cáo nhưng hiện tại vẫn còn chút vướng mắc như sau ạ: Sau khi em chạy dòng code thì báo cáo của em nó không tính tổng mặt hàng cuối cùng ạ. Em gửi file lên đây nhờ các bác chỉ bảo thêm cho em với. Em xin chân thành cảm ơn!
bạn thay dArr(K, 7) = TongHang (do code không nhận được giá trị của TongHang)
bằng đoạn code sau
dArr(K, 7) = TongHang1
dArr(K, 9) = TongHang2
dArr(K, 10) = TongHang3
dArr(K, 11) = TongHang4
K = K + 1
 
Upvote 0
Sao không dùng chức năng Sub total có sẵn?

1627692525629.png

1627692542944.png
 
Upvote 1
Giải pháp
bạn thay dArr(K, 7) = TongHang (do code không nhận được giá trị của TongHang)
bằng đoạn code sau
dArr(K, 7) = TongHang1
dArr(K, 9) = TongHang2
dArr(K, 10) = TongHang3
dArr(K, 11) = TongHang4
K = K + 1
Dạ nhờ các bác xem lại giúp em, em đã thêm vào rồi mà khi chạy code vẫn bị lỗi không tính tổng mặt hàng cuối cùng ạ!
Bài đã được tự động gộp:

Dạ đây vẫn là cách thủ công bác ạ, còn phải chỉnh sửa nhiều nên em muốn có code tự động cho nhanh ạ!
 
Upvote 0
Upvote 0
Dạ nhờ các bác xem lại giúp em, em đã thêm vào rồi mà khi chạy code vẫn bị lỗi không tính tổng mặt hàng cuối cùng ạ!
Bài đã được tự động gộp:


Dạ đây vẫn là cách thủ công bác ạ, còn phải chỉnh sửa nhiều nên em muốn có code tự động cho nhanh ạ!
Tại sao không được?
Tôi tải file của bạn về máy tôi và thêm đoạn code như ở đoạn trích dẫn của bạn chạy êm ru. kết quả trả về đang để ở ô M3.
Bạn hãy nhấn nút run và xem kết quả.
 

File đính kèm

  • Bao cao ban hang(8-2).xlsm
    19.7 KB · Đọc: 9
Upvote 0
Tại sao không được?
Tôi tải file của bạn về máy tôi và thêm đoạn code như ở đoạn trích dẫn của bạn chạy êm ru. kết quả trả về đang để ở ô M3.
Bạn hãy nhấn nút run và xem kết quả.
Cảm ơn các bác, em đã làm được rồi ạ. Xin trân trọng cảm ơn!
 
Upvote 0
Web KT

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

Back
Top Bottom