如何在Excel中实现工作表间通过关键字快速跳转 点击使用AI助手 了解更多
发布于 2024-10-12 liusiyang 83 编辑
在处理大量数据时,我们常常需要在不同的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()
}}}}}} // 结束函数定义
以下为操作文件,大家可下载练习。
通过本文的学习,您将掌握如何使用VBA编写工作表间关键字链接的脚本,实现一键跳转到相关数据,显著提升工作效率。无论是财务分析、库存管理还是客户信息整理,这一技巧都能帮助您更加高效地处理和分析数据。立即下载操作文件进行练习,让您的Excel技能更上一层楼。
原文链接:https://bbs.wps.cn/topic/9103