工具软件:WPS JS宏编辑器
前言:
我们在工作过程中往往出现一个表复制部分数据到另一个表,并且两个表有部分内容是相同的,数量也比较多,这种情况下,使用WPS JS宏进行表间数据导入十分方便快捷!
提供以下代码:
function 数据导入(){
let Sheet_one=ActiveWorkbook.Sheets("工作台"); //定义当前在活动的工作表
let Sheet_two=ActiveWorkbook.Sheets('数据表'); //定义了需要导入的工作表
let Columns_End=Sheet_two.Range("ZZ1").End(xlToLeft); //定义了需要导入工作表的字段内容终点
let Wordbook_One=ThisWorkbook; //定义当前活动工作薄
let Path_one=Wordbook_One.Path+'\\导入文件\\*.xlsx'; //定义当前活动工作薄的路径文件内容
let i=2,y=2,x=2;
let file=Dir(Path_one); //定义当前活动工作薄下面的文件
while (true){ //定义条件为真时执行
try{
let Path_two=Wordbook_One.Path+"\\导入文件\\"+file; //把获取的文件赋给一个变量
let Wordbook_Two=Workbooks.Open(Path_two); //打开获取的文件
for(var Sheet_name of Wordbook_Two.Sheets){ //遍历获取的工作薄的工作表
if(Sheet_name.Name=="Sheet1"){ //当工作表名等“Sheet1”,对这个工作表进行操作
Columns_Endone=Sheet_name.Range("ZZ1").End(xlToLeft) //定义被导入的工作表的字段尾单元格,起到一个定位作用
Rows_Endone=Sheet_name.Range("A9999").End(xlUp) //定义被导入的工作表的最后一行,也是起到定位至尾单元格
for (var Columns_value of Sheet_name.Range("A1",Columns_Endone)){ //遍历导入的工作表的字段每一项内容
Sheet_one.Cells(x,10).Value2=Columns_value.Value2; //获取被导入工作表的字段内容
Sheet_one.Cells(y,8).Value2=file; //获取被导入工作表的文件名
Sheet_one.Cells(i,9).Value2=Sheet_name.Name; //获取被导入工作表的表名
y++,x++,i++
let z=2
for(var Columns_valueOne of Sheet_two.Range('A1',Columns_End)){ //遍历需要导入的工作表的字段每一项内容
Sheet_one.Cells(z,11).Value2=Columns_valueOne.Value2; //获取需要导入工作表的字段内容
z++
if(Columns_value.Value2==Columns_valueOne.Value2){ //把需要导入的工作字段各被导入工作字段进行对比,如果相同就进行以下操作
Sheet_name.Range(Cells(2,Columns_value.Column),Cells(Rows_Endone.Row,Columns_value.Column)).Copy(Sheet_two.Cells(2,Columns_valueOne.Column)) //把相同的列复制到需要导入的工作表
}
}
}
}
}
Wordbook_Two.Close(); //关闭被导入工作薄
Sheets("数据表").Activate(); //把数据表定义为当前活动工作表
file=Dir()
}catch(err){
alert("己导入所有工作表内容")
break;
}
}
}
附加功能:快速清空表格
function 清空数据(){
let Sheet_two=ActiveWorkbook.Sheets('数据表');
let Rows_Endone=Sheet_two.Range("A9999").End(xlUp);
let Columns_End=Sheet_two.Range("ZZ1").End(xlToLeft);
if(Rows_Endone.Row>1){
Sheet_two.Range(Cells(2,"a"),Cells(Rows_Endone.Row,Columns_End.Column)).ClearContents()
}
}
使用WPS JS宏进行办公自动化你是否有兴趣呢?请进行投票