WPS宏实现对表格选中区域数据进行遍历读取及动态赋值

VBA中好像可以直接用forEach进行遍历,JS宏中有对数组的forEach方法,我没试出来。现在做的这一版是用双重FOR循环组合完成的,赋值用的是Formula属性,这个可以写公式。

function JIn()

{

//1、作用于Sheet1页

Application.Worksheets.Item('Sheet1').Activate();

//2、获取当前选中区域的首行和首列

var a = ActiveCell.Cells.Row;

var b = ActiveCell.Cells.Column;

//3、获取当前选中区域有多少行和多少列

var c =Selection.Cells.Address();

var d = Range(c).Columns.Count;

var e = Range(c).Rows.Count;

//4、选中区域的列号放进数组

var arrcol = new Array();

for(var i = 1 ; i <= d ; i++){

arrcol[i-1]=b-1+i;

}

//5、选中区域的行号放进数组

var arrow = new Array();

for(var j = 1 ; j <= e ; j++){

arrow[j-1]=a-1+j;

}

//6、双重FOR循环组装行列号

for (let y = 0; y < arrcol.length; y++) {

for (let x = 0; x < arrow.length; x++) {

//选中区域读取

var f = Sheets("Sheet1").Cells.Item(arrow[x],arrcol[y]).Value2;

//console.log("选中区域的值:"+f);

//选中区域后22列及前9列单元格的地址

var g =Sheets("Sheet1").Cells.Item(arrow[x],arrcol[y]+22).Address();

var h =Sheets("Sheet1").Cells.Item(arrow[x],arrcol[y]-10).Address();

//console.log("选中区域的地址:"+h);

//选中区域赋值

Sheets("Sheet1").Cells.Item(arrow[x],arrcol[y]).Formula='=IF('+h+'<>"",'+g+',"")';

}

}

}

相关推荐
CHN悠远3 天前
飞腾D3000安装debian13后使用WPS的方法
wps
❀͜͡傀儡师3 天前
docker 安装WPS
docker·容器·wps
罗政4 天前
WPS Excel快速插入一批图片
excel·wps
罗政5 天前
WPS Excel快速进行跨表数据合并
excel·wps
dyxal6 天前
linux系统上 WPS Office新增字体
linux·运维·wps
罗政6 天前
WPS Excel快速进行同表内的单元格差异对比(高亮)
excel·wps
罗政7 天前
WPS 如何进行单元格数据脱敏(实用方法与坑位避让)
wps
罗政7 天前
WPS Excel如何快速交换列(调整列顺序),删除多个不连续的列
excel·wps
枯基Evan8 天前
PPTX 中加入输入框和按钮,文本框不为空点击按钮跳转
wps·jsa
黄色茶杯9 天前
解决WPS的word文件嵌入EXCEL无法双击打开
word·excel·wps