|
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
有时就喜欢一次性搞定,本来想着可以的但写了一下数据没有合计起来,就想弄弄明白。
- function xg(){
- let res=[xm,ny]=[['合同编号','经办人','结算分包商'],[null,null,null]],hj={}
- let arr=Sheets('基础数据').Range('a1').CurrentRegion.Value().slice(1);
- arr.forEach(([a,b,c,d,e,f])=>{
- let k=WorksheetFunction.Text(e,'yyyy年m月');
- let cols=ny[a+e]??=(xm.push(a),ny.push(k)-1);
- hj[a+e]=[0];
- let rows=xm[b+c+d]??=res.push([b,c,d])-1;
- res[rows][cols]??=0,res[rows][cols]+=f;
- hj[a+e][0]+=f;
- })
- res.push(['合计',,,...Object.values(hj).flat()])
- Sheets('Sheet1').Range('a1').CurrentRegion.Clear();
- Sheets('Sheet1').Range('a1').Resize(res.length,res[0].length).Value2=res;
- Sheets('Sheet1').Columns.AutoFit();
- }
复制代码
|
|