如何在Excel中实现工作表间通过关键字快速跳转-WPS高效文档技巧使用方法

如何在Excel中实现工作表间通过关键字快速跳转

liusiyang 9 2024-10-12 编辑

在处理大量数据时,我们常常需要在不同的Excel工作表之间切换,以查找和核对信息。手动切换不仅耗时,而且容易出错。本文将向您展示如何利用VBA编写一个简单的双击事件脚本,实现工作表间的快速跳转,从而优化您的数据处理流程。

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

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

代码如下:

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

通过本文的学习,您将掌握如何使用VBA编写工作表间关键字链接的脚本,实现一键跳转到相关数据,显著提升工作效率。无论是财务分析、库存管理还是客户信息整理,这一技巧都能帮助您更加高效地处理和分析数据。立即下载操作文件进行练习,让您的Excel技能更上一层楼。

原文链接:https://bbs.wps.cn/topic/9103

上一篇: WPS从入门到熟练的快速指南
下一篇: 如何在PPT中批量设置字间距以统一格式
相关文章