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++){

arrcoli-1=b-1+i;

}

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

var arrow = new Array();

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

arrowj-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(arrowx,arrcoly).Value2;

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

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

var g =Sheets("Sheet1").Cells.Item(arrowx,arrcoly+22).Address();

var h =Sheets("Sheet1").Cells.Item(arrowx,arrcoly-10).Address();

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

//选中区域赋值

Sheets("Sheet1").Cells.Item(arrowx,arrcoly).Formula='=IF('+h+'<>"",'+g+',"")';

}

}

}

相关推荐
letian880821 小时前
WPS2026专业增强版!一键安装,自动授权,内置VBA组件!
wps
Jo乔戈里1 天前
Windows系统弹窗自动点否?问题可能在WPS
wps
hPw0eKIqD3 天前
使用二次封装的Excel COM 组件操作Excel\WPS ET中的区域、行和列
excel·wps
金豆呀3 天前
WPS批量提取Word文档内容生成固定格式Excel表格
word·excel·wps
红莲凪是4 天前
使用二次封装的Excel COM 组件操作Excel\WPS ET IExcelRange 高级应用
python·excel·wps
xiaopai9455 天前
WPS做工程项目台账哪些能管、哪些管不住?
wps·工程项目·建米软件
Sunflower028 天前
如何解决word/WPS word 中表格跳到下一页(上一页有大篇幅空白)
word·wps
码上得天下8 天前
如何在默认打开方式设置中去掉已失效\已删除的应用选项?(比如WPS)
wps
PythonFun17 天前
WPS浏览器助手,AI智能阅读新体验
人工智能·wps
TMT星球18 天前
金山办公持续落子AI办公:灵犀专业版、WPS Comate同日发布
大数据·人工智能·wps