乐于分享
好东西不私藏

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

【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宏编辑器?

【WPS JSA】提取当前文件夹下文件名目录

【WPS JSA】批量打印不同份数的不同工作表

【WPS JSA】批量对工作表进行排序或工作表名称重命名

【WPS JSA 】一键提取工作簿中所有工作表名称,如果工作表名称与表格的标题又是一样的,那就一不小心生成了文件目录了。

【WPS JSA】你用代码直接生成过表格吗?来试一下!

【WPS JSA】宏编程:两个字的名字中间批量增加两个空格,一次性完成数据标准化处理,秒成!

【WPS JSA】宏编程:批量删除选择区域单元格全部空格

可下载以下WPS表格查看测试:

【WPS JSA】提取当前工作表中的所有公式-示例.zip

持续更新,关注点赞收藏

学会了WPS JSA实战,就是香!!!

本站文章均为手工撰写未经允许谢绝转载:夜雨聆风 » 【WPS JSA】提取当前工作表中的所有公式

评论 抢沙发

4 + 3 =
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
×
订阅图标按钮