教师:同名同姓的请“出列”
高手坐镇
题目难度:★★★
读者求助:董师傅,我是某高校的后勤老师,最近碰到一件麻烦的事情,需要你帮忙。主任要我在Excel中将大一新生中同名同姓的标注出来,以备他用,这不是为难我吗?明明有人可以查询学校的数据库,快速调出结果……但是在Excel中完成这个任务复杂多了,看得我眼花缭乱,怎么办?我同事推荐你,说你是电脑报的专家,精通各种技巧,希望你能帮帮我!十分感谢!
这个的确是用数据库来做更方便更快捷,不过董师傅估计你不想麻烦别人吧,呵呵,其实用Excel也能完成。首先,要创建一个宏,在里面输入代码,代码的作用就是将同名同姓的学生找出来。你的要求比较模糊,董师傅也不好编写具体的代码,因此只能给出一段经典的代码,你在该代码中根据实际情况稍作修改即可。关键代码如下所示:
Sheets.Add
Sheets("Sheet2").Select
Sheets("Sheet2").Name = "重名"
Sheets("名单").Select
Sheets("重名").[a1] ="班别"
Sheets("重名").[b1] ="姓名"
a = Sheets("名单").[a1].CurrentRegion.Rows.Count
For I = 2 To a
k = Sheets("重名").[a1].CurrentRegion.Rows.Count + 1
If Application.WorksheetFunction.CountIf([b2:b2001], Cells(I, 2)) > 1 Then
Sheets("重名").Cells(k, 2) = Sheets("名单").Cells(I, 2)
Sheets("重名").Cells(k, 1) = Sheets("名单").Cells(I, 1)