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+',"")';

}

}

}

相关推荐
小雪人8284 天前
wps的excel如何转为谷歌在线表格
excel·wps
揭老师高效办公5 天前
在PowerPoint和WPS演示让蝴蝶一直跳8字舞
powerpoint·wps
LAM LAB5 天前
【WPS】WPSPPT 快速抠背景
wps
揭老师高效办公5 天前
PowerPoint和WPS演示如何在放映PPT时用鼠标划重点
powerpoint·wps
揭老师高效办公5 天前
PowerPoint和WPS演示如何循环放映PPT
powerpoint·wps
l1t17 天前
DeepSeek辅助编写的将xlsx格式文件中sheet1.xml按需分别保留或去掉标签的程序
xml·python·excel·wps·xlsx
l1t20 天前
利用DeepSeek辅助WPS电子表格ET格式分析
人工智能·python·wps·插件·duckdb
skywalk81631 个月前
Ubuntu24.04桌面版安装wps
linux·ubuntu·wps
阿幸软件杂货间1 个月前
小黑课堂计算机一级WPSOffice题库安装包1.44_Win中文_计算机一级考试_安装教程
wps
CIb0la1 个月前
kali linux 2025.2安装WPS并设置无报错的详细步骤
linux·运维·wps