【社区答疑】通过WPS表格JS宏事件完成点击后显示结果
WPS函数专家
要想下班早,表格必须用的好!
大家好,我是张俊。
⭐场景
最近在社区看到冬之酷宝子在社区中提出这这样的超链接到下拉列表中的对应数据问题,具体如下:
- 场景分析
通过求助帖子需求可以发现宝子的需求是当点击A列的姓名时,在C2单元格显示对应的结果。当我们看到“点击xx时返回xx时”就可以判断需要用WPS表格的二次开发的JS宏或VBA事件来完成,因为普通的函数无法获取点击的单元格位置,所以无法获取对应的值。(本帖就以WPS表格自带JS宏事件来完成)
🔔 | 当我们看到求助帖子时,无从下手时,不要被求助者的思维带偏,可以换种方法来考虑,也许问题就迎刃而解了。 |
- 操作步骤
2.1 进入开发工具
如果对于WPS表格JS宏知之甚少的话,建议可以从此帖学起:👉【JS宏教程】WPS表格JS宏快速入门必备最基础知识
WPS表格的“工具”选项卡中点击“开发工具”
在展开的“开发工具”选项卡中点击“WPS 宏编辑器”即可进入WPS JS宏编辑器。
2.2 选择对应事件
1.在“编辑代码区”顶部有“Application”和“Workbook”两个下拉选项中选择“Workbook”
2.在右侧对应的下拉菜单中选择“SheetSelectionChange”,会自动输入需要的事件代码
2.3 输入对应的代码
在事件代码中输入以下代码:
if (Target.Row>1 && Target.Row<7 && Target.Column==1){
Sheets("姓名").Range("C2").Value2=Target
}
具体如下图所示:
2.4 加上代码注释
对于2.3输入代码后,其实程序已经可以达到对应的效果了,但是对于初学者不友好:
1.初学者不知道代码逻辑和意义
2.如果想修改代码也不知道如何修改
因此给代码加上注释也是一个程序员必备基本技能。
//SheetSelectionChange事件自动生成代码(默认即可,无需修改)
function Workbook_SheetSelectionChange(Sh, Target)
{
//判断当前选择的单元格的行号要大于1,并且行号要小于7,并且列号在第1列(可根据实际情况修改区域)
if (Target.Row>1 && Target.Row<7 && Target.Column==1){
//将选择的单元格中的值返回到“姓名”工作表的C2单元格中(可根据实际情况调整工作表名称和单元格地址)
Sheets("姓名").Range("C2").Value2=Target
}
}
具体如下图所示:
- 操作效果
完成WPS表格JS宏的Workbook(工作表)事件中的“SheetSelectionChange”事件的效果如下所示:
- 文件保存
最后保存文件的时候会有提示,记得点击“否”,由于包含有JS宏代码,建议保存为“xlsm”格式的文件哦~
关于通过WPS表格JS宏事件完成点击后显示结果的方法,你学会了吗?学会的话,记得点赞❤️❤️❤️并在评论区评论“我学会了!”,您的点赞❤️❤️❤️和评论是对我最大的支持!
🚩 | 练习文件:👉通过WPS表格JS宏事件完成点击后显示结果👈 |
往期社区答疑帖子推荐:
【社区答疑】使用WPS表格函数公式自动生成库位号(二)(待发布)
表格函数系列帖子推荐:
【表格函数】ROW和COLUMN函数经典用法之创建连续等差序号(三)
【表格函数】ROW和COLUMN函数经典用法之创建连续等差序号(二)
【表格函数】ROW和COLUMN函数经典用法之创建连续等差序号(一)
往期优秀教程分享推荐:
创作者俱乐部成员
WPS函数专家