excel vba需要实现自动跳转到对应单元格
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
请参考,代码复制到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