[算表] vba合并储存格加总

楼主: ichol (深色忧郁的心)   2015-05-31 11:42:23
软件:
excel
版本:
2010
最近碰到一个合并储存格的问题
我现在在sheet1有一个总表,想在sheet2输入自动贴到sheet1并且更新
就很像有"过帐入库"的概念
因为笔数很多,有时候怕漏打看错
范例如下
在sheet1
A B C D E
1 料号 批号 数量 合计
2 A101 33A02 20 30 <=这里用合并储存格把同料号合计
3 A101 33A03 10
4 B201 1A010 20
5 B201 2A010 5 40 <=这里用合并储存格把同料号合计
6 B201 3A012 15
7
8
在Sheet2输入
A B C D E
1 料号 批号 数量
2 A101 3A010 5
3 B201 4A010 10
4 A101 3A011 20
按下过帐就会加到sheet1,SHEET1变成
结果:
A B C D E
1 料号 批号 数量 合计
2 A101 33A02 20 <=这里用合并储存格把同料号合计
3 A101 33A03 10 55
4 A101 3A010 5
5 A101 3A011 20
6 B201 1A010 20
7 B201 2A010 5 50 <=这里用合并储存格把同料号合计
8 B201 3A012 15
9 B201 4A010 10
目前我都手动更新,现在因为入库数量很多
不像以前只有10几笔,都超过30笔以上
有的会漏掉,忘了加上去(因为看单据KEY),公司没ERP
想请教各位高手有VBA可以解决吗???谢谢
8
作者: soyoso (我是耀宗)   2015-05-31 11:57:00
想到先取消合并(range.unmerge),排序(range.sort)接着取料号唯一值(range.removeduplicates)或是scripting.dictionary有唯一值就可range.find或是worksheetfunction.match来找料号首笔储存格,range.resize配合worksheetfunction.countif就可取得范围,再以这个范围合并(merge),其中也会用到范围偏移(range.offset)

Links booklink

Contact Us: admin [ a t ] ucptt.com