[問題] VBA數值加總合計問題

作者: bestboy5612 (阿國)   2019-05-26 03:19:49
(若是和其他不同軟體互動之問題 請記得一併填寫)
軟體:excel
版本:2013
檔案範例:
https://i.imgur.com/4PnZdml.jpg
A欄為物品類別,B欄為物品細目,C欄為當日使用量,我要作各類別物品使用量的小計。
C欄各物品的使用量是已知數據,但每日的物品類別跟細目可能會有增減,例如明天可能
沒有西瓜,後天可能又多了D類(例如電腦、椅子),因此每日的列數會不一樣,但都要按
物品類別作小計。
跪求高手幫忙解惑,C欄小計的vba該怎麼寫?
作者: soyoso (我是耀宗)   2019-05-26 11:20:00
先篩選b欄為"小  計"的部分,刪除,worksheet.showalldata取得b欄最後有值的儲存格range.end、range.find或列號,前述以range.row,如連續資料的話,工作表函數counta或countc欄數字插入"小  計"的列,先以變數a記錄最後有值的列號,再以迴圈反序step -1方式(變數b)。判斷當a欄不為空字串""時取消合併儲存格range.unmerge變數a用於:rows.insert、b欄儲存格"小  計"的寫入、和c欄儲存格加總(範圍為變數b至變數a),變數a可能有需要+1a欄類別的合併儲存格range.merge(範圍為變數b至變數a+1)變數b則再以變數-1的值定位以上回文是假設類別上有可能在新增後有可能沒有小計,如果都有小計的話,迴圈,判斷或range.find,b欄為儲存格"小 計"的列號(變數a),再range.end往上看a欄有資料的列號(變數b),小計就加總起迄變數a-1至變數b的範圍要用已有功能range.subtotal的話,新增個輔助欄如https://i.imgur.com/Rm0AmgB.jpgrange.subtotal group by第4欄,function以加總xlsum,totallist以第3欄array格式可能會和要的不同,再調整。移除以range.removesubtotal
作者: bestboy5612 (阿國)   2019-05-26 12:47:00
非常感謝大大的回覆,等等來試試看

Links booklink

Contact Us: admin [ a t ] ucptt.com