[Excel VBA] 用 VBA 自動產生小計

Excel 本身提供小計的功能,可以讓資料依據某個欄位,做相關的小計,非常方便。

那如果,透過VBA該怎麼做呢?

首先,先準備一個底稿
透過ADO將資料擷取至Recordset中,將資料依據底稿的順序排列好,利用

Range("A2").CopyFromRecordset rs
將資料放到 A2 這個 Cell 展開

再透過 Subtotal
Range("A1:V29").Select

Selection.Subtotal GroupBy:=1, Function:=xlSum, TotalList:=Array(3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
將資料依據第一個欄位 (GroupBy:=1),做小計 (xlSum),並決定要小計的欄位 (利用 Array() 將小計的欄位置入 TotalList)
大功告成!

顏色的部分可以透過

Cells(iRow, 3).Interior.Color = RGB(218, 238, 243)
來達成

張貼留言