本帖最后由 ppzzww 于 2024-5-23 14:27 编辑
背景: 1、 因开票数量很大,购买方300个左右,每个购买方有几百上千条货物明细,总明细12万条左右。 2、 税务局开票系统每次最多只导入4500条以下的明细。 3、 开票明细表中:“1-发票基本信息”为购买方信息,每个购买方一行且不重复;“2-发票明细信息”是所有购买方对应的货物明细。 4、 开票明细表中,每个工作表的1-3行为固定行抬头,行列固定。
需求:将以下条件拆分的数据生成到“开票模板”中,保持1-3行抬头不变。注“开票模板”与“开票明细”都一样,只是模版中无明细数据。
第1步:“开票明细”表中“2-发票明细信息”表进行拆分: 1) 先对A列(该列4行及以下行)进行升序排序,其他列同时扩展变化。 2) 对所行(4行及以下行),每隔4000条(建议以A列计数)拆分为新的工作簿,并保存到当前文件夹中,新工作簿名:自然序号+年月日+零件开票拆分,如”1-240523-零件开票拆分“。
第2步:“开票明细”表中“1-发票基本信息“表:根据“2-发票明细信息”拆分的购买方,删除本表中其他的购买方,只保留本次拆分的购买方行信息。例如:第一步中拆分明细中A列有4个购买方(去重),本表只保留这4个的信息,其他信息删除。
如此循环上述第1-2步,直到全部拆分完。
注意: 1、拆分后生成的新工作簿中的:1-发票基本信息“、2-发票明细信息、3-特定业务信息、4-附加要素信息,这四个工作表名都要保留且表名不变、1-3行固定行列内容保持不变。 2,第1步第2点是对4行以下的所有行列拆分到新工作簿中,不是只对A列拆分。
3,新的工作表跟原模板中的所有工作表名及工作表数量及每个工作表抬头一致。 |