有几张表,格式一样,合并到表名为“汇总”的表中。


function t2(rng){

var arr1=WorksheetFunction.Transpose(rng);

var arr=[],arr=WorksheetFunction.Transpose(arr1);

var brr=arr.flat(),l=arr1.length;//flat数组“拉平”,变成一维数组

return arr[0].map((v,i)=>brr.slice(i*l,i*l+l));//map返回列表,slice在数组中读取指定元素


}

function t3(){

var n=1;

Sheets("汇总").UsedRange.ClearContents();

Range("a1:k1").Value2=["订单号","订单日期","区域","省份","城市","产品类别","产品子类别","产品名称","产品包箱","运送日期","表明"];

for(var sht of Sheets){

if(sht.Name!="汇总"){

var rng=sht.Range("a2",sht.Cells(Rows.Count,10).End(3));

var arr=t2(rng);

for(var ar of arr){

ar.push(sht.Name);//数组中添加新元素

Range("a1:k1").Offset(n++).Value2=ar;//

}


}

}

Range("b:b").NumberFormatLocal = "yyyy/m/d;@";

Range("J:J").NumberFormatLocal = "yyyy"年"m"月"d"日";@";

}