You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Excel如何用VBA或超链接通过活动单元格值跳转至同工作簿其他工作表同值单元格

该需求可直接实现,以下提供两种成熟方案,可根据自身使用习惯选择:

方案一:免VBA超链接法,无需编码即可实现

适合不想调试宏代码的场景,操作步骤如下:

  • 先确认两个工作表的SKU列位置,假设MASTER表的SKU存储在A列,SUBSTITUTE表的替代品SKU存储在B列,两表首行均为表头
  • 在SUBSTITUTE表的替代品SKU列旁新增一列,列名设为「跳转入口」,首个数据单元格输入公式:=HYPERLINK("#MASTER!A"&MATCH(B2,MASTER!A:A,0),"跳转对应SKU")
  • 公式下拉填充所有数据行即可,点击对应单元格的链接会直接跳转到MASTER表匹配的SKU单元格,且自动将该单元格设为活动状态
方案二:VBA选中自动跳转法,符合你描述的选中即触发需求

无需额外新增列,选中SKU单元格就自动跳转,操作步骤如下:

  • 按快捷键Alt+F11打开VBA编辑器
  • 在左侧工程窗口找到SUBSTITUTE工作表,双击打开该表的代码编辑窗口
  • 粘贴以下代码:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    ' 限定触发范围:仅选中替代品SKU列单个非空单元格时触发,此处2对应B列,可自行修改为实际列号
    If Target.Column <> 2 Or Target.Cells.Count > 1 Or Target.Value = "" Then Exit Sub
    
    Dim skuVal As String
    Dim matchRng As Range
    skuVal = Target.Value
    
    ' 到MASTER表SKU列查找匹配项,此处A:A为MASTER表SKU所在列,可自行修改
    Sheets("MASTER").Activate
    Set matchRng = Sheets("MASTER").Columns("A:A").Find(What:=skuVal, LookIn:=xlValues, LookAt:=xlWhole)
    
    If Not matchRng Is Nothing Then
        matchRng.Select
    Else
        MsgBox "未匹配到对应SKU:" & skuVal, vbInformation
    End If
End Sub
  • 按实际列号修改代码中的两个列参数后保存,将文件另存为*.xlsm启用宏的工作簿格式即可正常使用

内容的提问来源于stack exchange,提问作者Terry McC

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 20:09:00