使用宏前,请备份文件!!!使用宏后,操作无法撤销~

如果WPS表格内含有宏,请点击启用宏,保存时文件后缀要选择xlsm.


wps启用宏在哪里?

进入开发工具

在WPS应用中,打开开发工具菜单

打开JS

在开发工具菜单中,找到WPS宏编辑器。

点击后再空白处编辑(粘贴)代码,//后文字为注释文字可以删除

运行宏

我们点击js宏选择对应宏,就可以进行运行操作。

演示效果:

将同一工作表内含有的8份工作簿都执行,变为工资条的操作及取消操作。

取消操作

代码如下:

/*操作数据前请先备份!!

* 宏由表哥 录制,时间:2022/10/25

*非专业人士,所有代码仅供参考~*/

function单表格工资条(){

for (varws of Sheets){

Sheets.Item(ws.Name).Activate() //激活单元表

varlastcell=ws.Range("a999999").End(xlUp); //获取A列自下向上,最后一个有字符的单元格

varrightcell=ws.Range("a1").End(xlToRight); //获取A列自下向上,最后一个有字符的单元格

varcou=WorksheetFunction.CountA(ws.Range("a2",lastcell))//统计a2到a列最后一个有字符的单元格间的个数

ws.Range("A1",rightcell).Select() //选择要复制的单元格区域(首次)

for(varnum=1;num<=cou-1;num++){ //循环次数及步长

Selection.Copy(undefined); //复制选中(函数返回布尔值而非复制的内容)

ActiveCell.Offset(2,0).Range("A1",rightcell).Insert(xlShiftDown, undefined);

//活动单元格偏移2行0列,向下插入单元格

Application.CutCopyMode= false; //退出剪切/复制模式

ActiveCell.Offset(2,0).Range("A1",rightcell).Select()

//选择Range("A1",rightcell)向下偏移2行0列的单元格区域(更改复制目标)

}

}

}

function单表格工资条删除(){

for (varws of Sheets){ //遍历所有单元表

Sheets.Item(ws.Name).Activate() //激活单元表

varlastcell=ws.Range("a999999").End(xlUp); //获取A列自下向上,最后一个有字符的单元格

varrightcell=ws.Range("a1").End(xlToRight); //获取A列自下向上,最后一个有字符的单元格

varcou=WorksheetFunction.CountA(ws.Range("a2",lastcell))//统计a2到a列最后一个有字符的单元格间的个数

ws.Range("A1",rightcell).Select() //选择要复制的单元格区域(首次)

for(varnum=3;num<=cou-1;num+=1){ //循环次数及步长

Rows.Item(num).Select(); //选择行数

Selection.Delete(xlShiftUp) //删除所选择行

}

}

}

可点击头像查找对应演示视频,查看代码执行效果。也可对代码进行微调已适应自己的需求。如果文字或视频对您有所帮助或启迪,请帮忙点赞。如有问题欢迎留言~