[算表] 用VBA语法写SUMIF函数

楼主: hp19910110 (融儿)   2014-06-14 22:53:00
软件: excel
版本: 2007、2010
我有一个编辑用表 : http://ppt.cc/n~~y
还有一个进货数量表 : http://ppt.cc/OSH-
因为每天都需要把进货数量KEY进编辑用表里
但进货数量表每天都会有新的一份,
且数量会增增减减,项目也会不定期增加、减少
同一个货品进货的数量可能分成两笔或两笔以上的项目
要每天一个一个输入实在太花时间了
目前是每天用SUMIF函数在统计
但每天也还是要花一小时左右处理
还是希望可以用VBA语法写SUMIF函数
不过不晓得该怎么写QQ
不晓得有没有人可以帮帮忙 ?
作者: soyoso (我是耀宗)   2014-06-14 23:23:00
想到的是用Application.Evaluate试试http://goo.gl/dAi9kH 档案,测试时也请将进货数量_140529.xlsx 开启
楼主: hp19910110 (融儿)   2014-06-14 23:50:00
如果进货数量表内有编辑表内没有的品项会有影响吗?!目前测试好像不会有影响XD另外想请问在编辑用表内想让他自动更新可否用快速键?!
作者: soyoso (我是耀宗)   2014-06-14 23:55:00
可按alt+f8,选项来设定宏的快速键
楼主: hp19910110 (融儿)   2014-06-14 23:57:00
了解!感谢!如果编辑用表有test1的表格(格式同test),只是品项不同,这种情况要怎么修改VBA语法让他适用呢?!我尝试复制原本的VBA语法,直接贴在下方,把test改成test1就可以了XD 如果sheet的数量太多会不会影响执行程序的速度呢?!(假设sheet到test10之类的)
作者: soyoso (我是耀宗)   2014-06-15 00:04:00
请将Sheets("test").删掉,就会以开启的sheet来run,应该比较好;因为写入只是资料而没有公式运算觉得应是不会影响执行的效能
楼主: hp19910110 (融儿)   2014-06-15 00:11:00
真是太感谢S大了!! 帮了一个大忙^^
作者: soyoso (我是耀宗)   2014-06-15 00:13:00
^^
楼主: hp19910110 (融儿)   2014-06-15 00:20:00
出现问题了XD 实际套用到我正在使用的表格后他没办法正常执行@@~ sheet名称非test会有影响吗?!
作者: soyoso (我是耀宗)   2014-06-15 00:22:00
和sheet名称比较没有关系,和储存格的位置,要参照的档案会比较有关系
楼主: hp19910110 (融儿)   2014-06-15 00:23:00
编辑用表格式都一样,只有图番不同进货数量格式也都一样,只是多了D到O字段
作者: soyoso (我是耀宗)   2014-06-15 00:24:00
也和参照的档案内的工作表名有关,原本设定的是[进货数量_140529.xlsx]Sheet1
楼主: hp19910110 (融儿)   2014-06-15 00:24:00
工作表名我有更改了!
作者: soyoso (我是耀宗)   2014-06-15 00:26:00
如果是多D到O的话那请看一下DateRng的范围
楼主: hp19910110 (融儿)   2014-06-15 00:27:00
D到O基本上不会用到@@~DateRng要怎么改才会正常呢~?
作者: soyoso (我是耀宗)   2014-06-15 00:29:00
[C2]为date的最左边的储存格,Cells(2, Columns.Count).End(1)要取最右边的储存格因此要修改[C2]这个,如果不是第二列时再修要取右边的那部分
楼主: hp19910110 (融儿)   2014-06-15 00:34:00
有点不太懂@@~刚刚试着把C2改成O2但他只执行了1个sheet跑出来的结果也是怪怪的@@~
作者: soyoso (我是耀宗)   2014-06-15 00:36:00
要同时执行档案内的全部sheet吗?觉得还是提供新档案的格式这样也会比较清楚
楼主: hp19910110 (融儿)   2014-06-15 00:38:00
作者: soyoso (我是耀宗)   2014-06-15 01:13:00
楼主: hp19910110 (融儿)   2014-06-15 01:33:00
看起来没问题!!! 感谢S大!!
作者: soyoso (我是耀宗)   2014-06-15 01:36:00
^^

Links booklink

Contact Us: admin [ a t ] ucptt.com