使用宏前,请备份文件!!!使用宏后,操作无法撤销~
如果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) //删除所选择行
}
}
}