|
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
function 拆分工作表成多薄一表(){
var arr=Intersect(Range("a2").CurrentRegion,Range("a2").CurrentRegion.Offset(1)).Value();
var m=new Map(),pah=ThisWorkbook.Path+"\\";
var titarr=Range("a1").Resize(1,arr[0].length).Value().flat();
for (var ar of arr){
if (m.has(ar[3])){
var newarr=m.get(ar[3]).concat([ar]);
m.set(ar[3],newarr);
}else{
m.set(ar[3],[titarr,ar])
}
}//ar[3]以姓名列拆分
for (var [key,val] of m){
var wb=Workbooks.Add();
var ws=wb.Sheets.Add();
ws.Name=key;
ws.Range("a1").Resize(val.length,val[0].length).Value2=val;
wb.SaveAs(pah+key+".xlsx");wb.Close();
}
} |
|