Xin hỗ trợ SUBTOTAL bằng code

Liên hệ QC

Giahao2006

Thành viên mới
Tham gia
31/7/20
Bài viết
32
Được thích
14
Giới tính
Nam
Mình có bảng dữ liệu, trong sheet bên trai là mẫu, bên phải là kết quả, nhờ anh em hỗ trợ giúp ạ, cảm ơn anh em nhiều
 

File đính kèm

  • SUBTOTAL.xlsx
    16.9 KB · Đọc: 9
Giải pháp
Nhờ anh em sửa giúp code sao cho kết qua ra giống bên phải ạ. cảm ơn mọi người nhiều, mới chôm được, ^^
Bạn dùng thử code sau nhé:

Mã:
Sub TaoBaoCao_HLMT()
    Dim strSQL As String
    strSQL = "Select [MHH],[DVB],[DANH MUC],[DVT],[SL],[Don Gia],[Thanh Tien],[DVM] From [Data$] Where [DVM] Like '" & Sheet1.Range("M1").Value & "' Order By [MHH] " & _
           " Union All Select [MHH] & ' Total:','' As [DVB],'' As [DANH MUC],'' As [DVT],Sum([SL]),Null as [Don Gia],Sum([Thanh Tien]),'' As [DVM] From [Data$] Where [DVM] Like '" & Sheet1.Range("M1").Value & "' Group By [MHH] "
    With CreateObject("ADODB.Recordset")
        .Open ("Select * From (" & strSQL & ") Order By MHH"), "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & ThisWorkbook.FullName...
Mình có bảng dữ liệu, trong sheet bên trai là mẫu, bên phải là kết quả, nhờ anh em hỗ trợ giúp ạ, cảm ơn anh em nhiều
Chọn toàn bộ vùng A2:H83 rồi chọn tab Data > Click Subtotal như hình:
Subtotal.JPG
Record marco lại thao tác này sẽ được đoạn code:
Mã:
Sheets("sheet1").Range("A2:H83").Subtotal GroupBy:=1, Function:=xlSum, TotalList:=Array(5), Replace:=True, PageBreaks:=False, SummaryBelowData:=True
trong đó GroupBy:=1 là sum theo điều kiện mã tại cột A, TotalList=Array(5) là tính tổng Sum tại cột thứ 5 là cột E (cột Số lượng)
Bạn thử tùy chỉnh lại để được như ý muốn.
 
Upvote 0
Cảm ơn bạn, ý của mình muốn code dò theo MHH, ví dụ như từ dòng 1 tới dòng thứ 5 giống nhau, thì tới dòng thứ 6 nó chèn 1 dòng trống vào, rồi sau đó tổng số lượng lại, nếu không có chắc xài dòng code của bạn
 
Upvote 0
Nhờ anh em sửa giúp code sao cho kết qua ra giống bên phải ạ. cảm ơn mọi người nhiều, mới chôm được, ^^
 

File đính kèm

  • ADO_Demo 1.xlsm
    310.3 KB · Đọc: 12
Upvote 0
Nhờ anh em sửa giúp code sao cho kết qua ra giống bên phải ạ. cảm ơn mọi người nhiều, mới chôm được, ^^
Bạn dùng thử code sau nhé:

Mã:
Sub TaoBaoCao_HLMT()
    Dim strSQL As String
    strSQL = "Select [MHH],[DVB],[DANH MUC],[DVT],[SL],[Don Gia],[Thanh Tien],[DVM] From [Data$] Where [DVM] Like '" & Sheet1.Range("M1").Value & "' Order By [MHH] " & _
           " Union All Select [MHH] & ' Total:','' As [DVB],'' As [DANH MUC],'' As [DVT],Sum([SL]),Null as [Don Gia],Sum([Thanh Tien]),'' As [DVM] From [Data$] Where [DVM] Like '" & Sheet1.Range("M1").Value & "' Group By [MHH] "
    With CreateObject("ADODB.Recordset")
        .Open ("Select * From (" & strSQL & ") Order By MHH"), "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & ThisWorkbook.FullName & ";Extended Properties=""Excel 12.0"""
        Sheet2.Range("A2:H5000").ClearContents
        Sheet2.Range("A2").CopyFromRecordset .DataSource
    End With
End Sub
 
Upvote 0
Giải pháp
Anh "Hai lúa miền tây ơi,", mình gửi lại file bạn xem giúp mình được không ạ, code bạn mình paste vào nó báo lỗi, còn cái của mình thì nó ra subtotal ở phía dưới, cảm ơn bạn trước ạ
 

File đính kèm

  • ADO_Demo 1.xlsm
    307.4 KB · Đọc: 6
Upvote 0
Anh "Hai lúa miền tây ơi,", mình gửi lại file bạn xem giúp mình được không ạ, code bạn mình paste vào nó báo lỗi, còn cái của mình thì nó ra subtotal ở phía dưới, cảm ơn bạn trước ạ
Bạn đã làm thiếu code của tôi ở trên rồi.

Rich (BB code):
RecordSet.Open ("Select * From (" & SQL_Command & ") Order By [MHH]"), sConnect
 
Upvote 0
Dạ, cảm ơn " Hai Lúa Miền Tây " nhiều ạ, sau một hồi chỉnh tói chỉnh lui, cuối cùng cũng ra theo như ý muốn
MHHDVBDANH MUCDVTSLDon GiaThanh TienDVM
lxkVMYQ4Lạp xưởng khôkg
0.5​
273600​
136800​
TKHO
lxk Total:
0.5​
136800​
TK1HDNBTôm khô số 1kg
1.1​
610000​
671000​
TKHO
TK1MNQ11Tôm khô số 1kg
1.1​
610000​
671000​
TKHO
TK1Q11-MN10Tôm khô số 1kg
0.7​
610000​
427000​
TKHO
TK1P14Q3Tôm khô số 1kg
0.2​
610000​
122000​
TKHO
TK1BNGOAN5Tôm khô số 1kg
0.2​
671000​
134200​
TKHO
TK1LUGIAQ11Tôm khô số 1kg
0.2​
610000​
122000​
TKHO
TK1SC2Q12Tôm khô số 1 ktrakg
0.4​
610000​
244000​
TKHO
TK1 Total:
3.9​
2391200​
TK2PERGOLATôm khô số 2kg
0.2​
444000​
88800​
TKHO
TK2VH8Tôm khô số 2kg
0.1​
488000​
48800​
TKHO
TK2CANABCTôm khô số 2kg
0.1​
400000​
40000​
TKHO
TK2HMI1Q12Tôm khô số 2kg
0.1​
488000​
48800​
TKHO
TK2P11Q6Tôm khô số 2kg
0.1​
488000​
48800​
TKHO
TK2Q7-TKIENG2Tôm khô số 2kg
0.1​
488000​
48800​
TKHO
TK2P7Q6Tôm khô số 2kg
0.3​
488000​
146400​
TKHO
TK213QTBTôm khô số 2kg
1.2​
488000​
585600​
TKHO
TK2MNCANADATôm khô số 2kg
1​
400000​
400000​
TKHO
TK2DMCTôm khô số 2kg
1​
488000​
488000​
TKHO
TK2QTP-CCNHOTôm khô số 2kg
0.1​
400000​
40000​
TKHO
TK2BHONGTôm khô số 2kg
0.3​
488000​
146400​
TKHO
TK2Q2-NNNHOTôm khô số 2kg
0.2​
456000​
91200​
TKHO
TK2TKIENGTôm khô số 2kg
0.25​
488000​
122000​
TKHO
TK2THCANADATôm khô số 2kg
0.2​
400000​
80000​
TKHO
TK2VMYQ4Tôm khô số 2kg
0.2​
456000​
91200​
TKHO
TK2Q2-QTCHAUAUTôm khô số 2kg
0.2​
456000​
91200​
TKHO
TK2P9Q3Tôm khô số 2kg
0.2​
488000​
97600​
TKHO
TK2P9Q3Tôm khô số 2kg
0.5​
488000​
244000​
TKHO
TK2 Total:
6.35​
2947600​
TKDBVHOATôm khô đặc biệtkg
0.1​
775200​
77520​
TKHO
TKDBSC9Q12Tôm khô đặc biệtkg
0.1​
829600​
82960​
TKHO
TKDB Total:
0.2​
160480​
 
Upvote 0
Web KT
Back
Top Bottom