【WPS应用案例】JS两表按关键字相互链接,快速查找定位

懒人办公

创作者俱乐部成员

今天给大家分享一个实战案例,两个工作表根据关键字相互链接,用于快速查看数据,效果如下:

当我们点击表中的村名时,会自动跳转到另一张表中的相应位置。

代码如下:

function Workbook_SheetBeforeDoubleClick(Sh,Target, Cancel){

let sh1=Sheets.Item('人员信息表')

let sh2=Sheets.Item('各村人数')

if(Sh.Name==sh1.Name){

if(Target.Column==4&&Target.Row>3){

r=WorksheetFunction.Match(Target.Value2,sh2.Range("b:b"),0)

if(r>0){

Cancel.Value=true

sh2.Activate()

sh2.Cells.Item(r,2).Activate()

}

}

}

if(Sh.Name==sh2.Name){

if(Target.Column==2&&Target.Row>1){

r=WorksheetFunction.Match(Target.Value2,sh1.Range("d:d"),0)

if(r>0){

Cancel.Value=true

sh1.Activate()

sh1.Cells.Item(r,4).Activate()

}

}

}

}

代码解释如下:

// 定义一个双击事件。

function Workbook_SheetBeforeDoubleClick(Sh,Target, Cancel){

// 使用Sheets集合中的'Item'方法获取名为'人员信息表'的工作表,并将其赋值给变量sh1。

let sh1=Sheets.Item('人员信息表')

// 使用Sheets集合中的'Item'方法获取名为'各村组人数'的工作表,并将其赋值给变量sh2。

let sh2=Sheets.Item('各村组人数')

// 如果被双击的工作表的名字与sh1('人员信息表')的名字相同...

if(Sh.Name==sh1.Name){

// 如果被双击的单元格位于第4列,并且行号大于3...

if(Target.Column==4&&Target.Row>3){

// 使用WorksheetFunction对象的Match方法,在sh2工作表的'b:b'范围内找到被双击单元格的值(Target.Value2)的行号,并将行号赋值给变量r。

r=WorksheetFunction.Match(Target.Value2,sh2.Range("b:b"),0)

// 如果r的值大于0,说明在sh2工作表的'b:b'范围内找到了被双击单元格。

if(r>0){

// 将取消操作的值设为true,这会阻止双击操作的其他行为(如编辑单元格)。

Cancel.Value=true

// 激活sh2工作表,使它成为当前活动的工作表。

sh2.Activate()

// 激活sh2工作表中位于r行,第2列的单元格,使这个单元格成为当前活动的单元格。

sh2.Cells.Item(r,2).Activate()

}

}

}

// 如果被双击的工作表的名字与sh2('各村组人数')的名字相同...

if(Sh.Name==sh2.Name){

// 如果被双击的单元格位于第2列,并且行号大于1...

if(Target.Column==2&&Target.Row>1){

// 使用WorksheetFunction对象的Match方法,在sh1工作表的'd:d'范围内找到被双击单元格的值(Target.Value2)的行号,并将匹配结果赋值给变量r。

r=WorksheetFunction.Match(Target.Value2,sh1.Range("d:d"),0)

// 如果r的值大于0,说明在sh1工作表的'd:d'范围内找到了被双击单元格的值的匹配项。

if(r>0){

// 将取消操作的值设为true,这会阻止双击操作的其他行为(如编辑单元格)。

Cancel.Value=true

// 激活sh1工作表,使它成为当前活动的工作表。

sh1.Activate()

// 激活sh1工作表中位于r行,第4列的单元格,使这个单元格成为当前活动的单元格。

sh1.Cells.Item(r,4).Activate()

}}}}}} // 结束函数定义

以下为操作文件,大家可下载练习。

https://kdocs.cn/l/cc0aXdXCOXLC

贵州省
浏览 3965
3
38
分享
38 +1
27
3 +1
全部评论 27
 
下载的操作文件总是提示需要vba环境,内容也是空的呢
· 湖北省
回复
 
不错哦
· 广东省
回复
 
牛🐮🐮🐮🐮🐮🐮🐮
· 山东省
回复
 
事件 查找 激活
· 浙江省
回复
 
很实用的文档
· 江苏省
回复
 
很实用的文档,谢谢。
· 四川省
回复
 
非常好用,谢谢!
· 云南省
回复
 
非常实用。感谢。
· 广西
回复
 
感谢分享,非常实用,学到了
· 广东省
回复
 
非常好用,实用
· 浙江省
回复
 
感谢分享
· 吉林省
回复
 
文章非常不错,快速解决问题。感谢作者
· 辽宁省
回复
 
谢谢分享,终于学到。
· 四川省
回复
 
很好用 终于学到了
· 安徽省
回复
 
非常好用的一款软件
· 安徽省
回复
 
很实用,非常好!
· 广东省
回复
 
很有用,学到了,非常方便
· 广西
回复
 
学习一下,非常不错
· 浙江省
回复
 
非常实用的知识,操作性很强!
· 山西省
回复
 
非常好非常好
· 河北省
回复