excel vba需要实现自动跳转到对应单元格

10.9级六角螺栓 M36*140/0/双母 2.22800
10.9级六角螺栓 M36*145/0/双母 2.26800
10.9级六角螺栓 M36*150/0/双母 2.33400
10.9级六角螺栓 M42*150/0/双母 3.42100
总表:表1有前2列,子表:表2也有前2列,已通过公式多条件vlookup实现了第3列的取数,现在想通过VBA实现点击表2的第2列,自动跳转到表1对应的第2列+1的单元格。用于核对第3个数值是否准确
图2是总表,里面和表2的排序不一样的。

1.下面看实例。

2.上图中,在Sheet1中,A列的A3单元格,数据是“李四”;

3.看上图,Sheet2中的A23单元格,内容也是“李四”;

  现在,要做的是,在Sheet1中,点击A3中的“李四”,就会自动跳到Sheet2中的A23单元格。

  可以这样说,无论点击Sheet1A列中的任何一个单元格,只要在Sheet2中的A列,有与其值相同的,就自动跳到Sheet2的相应单元格;

  方法是:右键点击“Sheet1”,在弹出的快捷菜单中,点击“查看代码”,如下图。

4.之后,会弹出如下图一个的VB代码编写窗口。

5.这个时候,无须做额外的代码编写,只需要按照上图,把代码粘贴上去就完成了。

  为了方便大家的学习,下面,将代码贴到下文:

  Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  If Target.Column = 1 Then
  If Sheet1.Cells(Target.Row, 1) <> "" Then
  For i = 1 To Sheet2.UsedRange.Rows.Count
  If Sheet2.Cells(i, 1).Value = Sheet1.Cells(Target.Row, 1).Value Then
  Sheet2.Activate
  Sheet2.Range("A" & i).Select
  End If
  Next i
  End If
  End If
  End Sub

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-04-11

请参考,代码复制到Sheet2即可

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Column = 2 Then
        Sheet1.Activate
        Sheet1.Cells(Target.Row, Target.Column + 1).Select
    End If
End Sub

本回答被提问者和网友采纳
第2个回答  2015-04-11
听你描述的这个功能好像没意义啊,你不相信VLOOKUP
相似回答