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

}

}

}

相关推荐
晨陌y13 小时前
打工人被WPS卡顿和隐私问题折磨?document本地文档编辑器能不能作为替代方案
编辑器·wps
qq_546937272 天前
office和WPS平替软件,可以打开Word_Excel_PPT
word·excel·wps
专注VB编程开发20年5 天前
WPS 重营销、轻基础底层,劫持注册表让office没法用
wps
wujian83115 天前
怎么把Kimi里的表格完整复制到wps内
人工智能·ai·wps·豆包·deepseek·ai导出鸭
系统集成架构师6 天前
WPS 多维表格新增数据,如何自动同步到腾讯文档?
wps
xqg13168 天前
WPS 配置优化
wps
梦幻通灵9 天前
WPS的word表格序号递增实现方案
wps
熟悉的新风景9 天前
word,wps使用技巧
word·wps
我没胡说八道9 天前
论文AI改写工具深度实测测评|避坑对比、优劣短板、场景适配全解析
人工智能·经验分享·深度学习·aigc·论文·wps
专注VB编程开发20年10 天前
逍遥Pya IDE -- 可视化Python开发工具,类似VBA WPS(JSA)
ide·python·wps