【WPS JSA】提取当前工作表中的所有公式

在WPS表格处理中,经常需要设置、查看、检查工作表中的各计算公式,手动一个个点击查看检查密密麻麻的公式让人眼花缭乱,还容易遗漏!
想快速知道哪些单元格有公式,公式内容是什么?今天教大家一个WPS JSA宏,一键提取当前工作表中所有公式,并自动生成公式清单,工作效率直接拉满!
【WPS JSA】代码:
function 提取当前工作表中的所有公式() {// 获取当前活动工作表let sheet = Application.ActiveSheet;// 获取已使用区域let usedRange = sheet.UsedRange;// 创建结果数组let result = [];// 遍历所有单元格for (let row = 1; row <= usedRange.Rows.Count; row++) {for (let col = 1; col <= usedRange.Columns.Count; col++) {let cell = usedRange.Cells.Item(row, col);// 检查单元格是否有公式if (cell.HasFormula) {result.push({"地址": cell.Address(false,false), // 单元格地址"公式": "'"+cell.Formula, // 公式内容"值": cell.Value2 // 公式计算结果});}}}// 创建新工作表并命名let newSheet = Worksheets.Add();let timestamp = getTimestamp();// 将结果写入新工作表newSheet.Name = `提取的公式列表_${timestamp}`;// 写入标题行newSheet.Range("A1:C1").Value2 = [["单元格地址", "公式内容", "计算结果"]];// 写入数据if (result.length > 0) {for (let i = 0; i < result.length; i++) {newSheet.Range(`A${i+2}`).Value2 = result[i]["地址"];newSheet.Range(`B${i+2}`).Value2 = result[i]["公式"];newSheet.Range(`C${i+2}`).Value2 = result[i]["值"];}}// 自动调整列宽newSheet.Columns("A:C").AutoFit();return "公式提取完成,共提取 " + result.length + " 个公式";}//时间戳,给新建工作表加后缀,避免重名function getTimestamp() {let now = new Date();let year = now.getFullYear();let month = String(now.getMonth() + 1).padStart(2, '0'); // 月份从0开始let day = String(now.getDate()).padStart(2, '0');let hour = String(now.getHours()).padStart(2, '0');let minute = String(now.getMinutes()).padStart(2, '0');let second = String(now.getSeconds()).padStart(2, '0');return `${year}${month}${day}_${hour}${minute}${second}`;}
操作步骤:
1.打开你的WPS表格文件。按下Alt + F11(或点击「开发工具」→「WPS宏编辑器」),打开WPS JSA编辑器。
2.插入模块并粘贴代码。在编辑器左侧右键点击「项目」中的当前工作簿,选择「插入」→「模块」,将代码完整复制到右侧代码窗口中。
3.运行宏。回到WPS表格界面,点击「开发工具」→「运行宏」,找到“提取当前工作表中的所有公式”宏,点击「运行」。
就会自动生成一个名为“提取的公式列表”的新工作表,并清晰列出单元格地址和公式内容了。可以快速检查公式引用是否正确。上述代码仅是提取当前工作表中的所有公式,是最基础的应用,简单快捷。
还有一些扩展高阶玩法:
1.如提取整个工作簿中各工作表的所有公式,对代码适当修改即可实现。
2.如对公式列表进行修改完善,通过WPS JSA代码反向写回工作表中。
3.WPS JSA代码自动生成表格时,批量写入表内计算公式。
4.批量生成如登记表、入职表时,对模板批量写入表间取数公式。等等。
将陆续更新。
往期内容:
【WPS JSA 】一键提取工作簿中所有工作表名称,如果工作表名称与表格的标题又是一样的,那就一不小心生成了文件目录了。
【WPS JSA】宏编程:两个字的名字中间批量增加两个空格,一次性完成数据标准化处理,秒成!
可下载以下WPS表格查看测试:

持续更新,关注点赞收藏。
学会了WPS JSA实战,就是香!!!
夜雨聆风
