excel生成问题,关于宏的

来源:百度知道 编辑:UC知道 时间:2024/05/02 09:02:57
如下:
货品编码 品名 门框 宽 高 颜色 玻璃图案 百叶 吊脚.轨道 锁位 客户编码 数量 件数
5103170003 RB309B 半包 0.75 1.93 黑桃 珠格+砂N06 20 内开右固 11864 1.448 2
5103170002 RB313B 2.46 2.065 黑桃 光玻夹冰凌如图 无下轨 11864 5.08 3
5103170007 RB313B固定 2.46 0.35 黑桃 双光玻 平分4份 11864 0.861 3
5103170001 RB313E 顶轨 1.63 2.136 金丝柚 光玻A30 ZK14 单右扇815MM 11864 3.482 2

注:我公司生产的铝门是非标准尺寸,因此每一个货品编码只使用一次.
2.我公司把EXCEL表格导入贵公司软件,软件按内容要求生成查找表,如下:
条形码数字式 品名 门框 宽 高 颜色 玻璃图案 百叶 吊脚.轨道 锁位 客户编码 数量 入仓执行 发货执行
51031700030201 RB309B 半包 0.75 1.93 黑桃 珠格+砂N06 20 内开右固 11864 1.448
51031700030202 RB309B 半包 0.75 1.93 黑桃 珠格+砂N06 20 内开右固 11864 1.448
51031700020301 RB313B 2.46 2.065 黑桃 光玻夹冰凌如图 无下轨 11864 5.08
51031700020302 RB313B 2.46 2.065 黑桃 光玻夹冰凌如图 无下轨 11864 5.08
51031700020303 RB313B 2.46 2.065 黑桃 光玻夹冰凌如图 无下轨 11864 5.08
51031700070301 RB313B固定 2.46 0.35 黑桃 双光玻 平分4份 11864 0.861
51031700070302 RB313B固定 2.46 0.35 黑桃 双光玻 平分4份 11864 0.861
5103170007

不用宏也能做出来的
我编公式时设置了12列,即件数在M列,原数据表为sheet1,数据从第二行开始,定义了两个名称
js=OFFSET(Sheet1!$M$2,,,COUNT(Sheet1!$M:$M))
sj=MMULT(N(ROW(INDIRECT("a1:a"&COUNT(Sheet1!$M:$M)))>TRANSPOSE(ROW(INDIRECT("a1:a"&COUNT(Sheet1!$M:$M))))),js)

在结果表中A2输入公式=IF(ROW(1:1)>SUM(js),"",OFFSET(Sheet1!$A$1,LOOKUP(ROW(1:1)-1,sj,ROW(INDIRECT("a1:a"&COUNT(Sheet1!$M:$M)))),COLUMN()-1)&0&LOOKUP(ROW(1:1)-1,sj,js)&0&(ROW(1:1)-LOOKUP(ROW(1:1)-1,sj,sj))),往下拖,B2输入公式=IF(ROW(1:1)>SUM(js),"",OFFSET(Sheet1!$A$1,LOOKUP(ROW(1:1)-1,sj,ROW(INDIRECT("a1:a"&COUNT(Sheet1!$M:$M)))),COLUMN()-1)),往右往下拖,其实两个公式基本一样,只是在A列并上了后面的“0201”样的序号
根据你的实际工作表名和件数列改一下公式即可