[问题] 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