要想了解这个问题的实用性,首先,我们看下面的两个工作薄,A、B两个工作并的第二列,分别都保存着人物的姓名。
此外,还有前提条件,那就是,这两个工作薄的姓名都是相同的,但是,排序却不同,并且,还不能进行排序后对比。
同时,我们还得实现这样的效果,当我们选择A工作薄的某个姓名时,B工作薄会根据这个姓名,查找B工作薄中是否存在这个姓名,如果存在,就选中该名字所在的单元格或整行,这样,就实现了,A中选择一个姓名,B工作薄就会自动查找该姓名所在的单元格并选中行或单元格。
这有点像不同工作薄之间的联动。
下面我们开始吧,得使用VBA来解决,看好洛,代码事件及功能代码如下。
如上代码是放在A工作薄的,请注意,为方便您的学习,下面,俺将代码粘贴如下:
Workbooks("A.XLS").Sheets("Sheet1").Activate
MyName = Trim(Sheet1.Cells(Target.Row, Target.Column).Value)
If (Target.Column = 2 And Target.Row <= ThisWorkbook.Sheets(1).UsedRange.Rows.Count) Then
Workbooks("B.XLS").Sheets("Sheet1").Activate
For i = 1 To ActiveSheet.UsedRange.Rows.Count
If Trim(ActiveSheet.Cells(i, 2).Value) = MyName Then
ActiveSheet.Cells(i, 2).Select
ActiveSheet.Rows(i).Select
Exit Sub
End If
Next i
End If