在Excel中如何实现,点击Sheet1中的某列,如A列中的某个单元格,就会自动跳到Sheet2中对应的A列的,与此单元格内容相同的单元格?
这得使用VBA来实现,因为只有使用VBA最为简单,比任何函数都方便!
下面我们看实现吧!
上图中,在Sheet1中,A列的A3单元格,数据是“李四”;
看上图,Sheet2中的A23单元格,内容也是“李四”;
现在,我们要做的是,在Sheet1中,点击A3中的“李四”,就会自动跳到Sheet2中的A23单元格!
可以这样说,无论点击Sheet1A列中的任何一个单元格,只要在Sheet2中的A列,有与其值相同的,就自动跳到Sheet2的相应单元格;
方法是:右键点击“Sheet1”,在弹出的快捷菜单中,点击“查看代码”,如下图!
之后,会弹出如下图一个的VB代码编写窗口!
这个时候,您无须做额外的代码编写,只需要按照上图,把代码粘贴上去就完成了。
为了方便大家的学习,下面,俺将代码贴到下文:
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
本实例到此结束!
代码扩展:
如果我们要实现的功能是,在Sheet1中,点击A1单元格,就自动跳到Sheet1中的C1单元格,点击A2就跳到C2、点击A3就跳到C3……依此类推!
稍微改动如上代码,即可,代码如下:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 1 Then
Sheet1.Range("C" & Target.Row).Select
End If
End Sub
以上的两种代码,已经过本站严格测试,您就放心使用吧,没有任何问题!希望本文对您有所帮助!