帮忙解决一个EXCEL问题:在表格1中添加表格2中的一列中的部分数据.

帮忙解决一个EXCEL问题:在表格1中添加表格2中的一列中的部分数据.
具体问表格1中第一列为学号,排列不规则,不能改变其顺序,需要添加数据的地方为第4列;需要从表格2中的第三列中提取,其中表格2的第一列也是学号,但是和表格1相比,是顺序也打乱的,而且有更多的学号.
也就是说,不能通过简单的经过排列学号来解决,我还有一个类似的宏,但是不会用,请各位大侠指导.
'搜索,标注
Sub tll()
Dim n As Integer
Dim k
For n = 2 To 500
Workbooks("2.xls").Activate
k = Workbooks("2.xls").Sheets(1).Cells(n,4).Value
Workbooks("1.xls").Activate
If Workbooks("1.xls").Worksheets(1).Cells.Find(k) Is Nothing Then
Else:Workbooks("1.xls").Worksheets(1).Cells.Find(k).Font.ColorIndex = 3
Workbooks("2.xls").Sheets(1).Cells(n,4).Font.ColorIndex = 3
End If
Next
End Sub
'搜索,拷贝相关内容
Sub tll()
Dim n As Integer
Dim k
Dim s
For n = 3 To 15
Workbooks("2.xls").Activate
k = Workbooks("2.xls").Sheets(1).Cells(n,3).Value
Workbooks("1.xls").Activate
If Workbooks("1.xls").Worksheets(1).Cells.Find(k) Is Nothing Then
Else:Workbooks("1.xls").Worksheets(1).Cells.Find(k).Font.ColorIndex = 3
Workbooks("1.xls").Worksheets(1).Cells.Find(k).Select
Application.Selection.Offset(0,9).Copy
Workbooks("2.xls").Sheets(1).Cells(n,7).PasteSpecial
Workbooks("2.xls").Sheets(1).Cells(n,3).Font.ColorIndex = 3
End If
Next
End Sub
'对比两列
Sub tll()
Dim n As Integer
Dim k
Dim s
For n = 2 To 1000
Workbooks("2.xls").Activate
k = Workbooks("2.xls").Sheets(1).Cells(n,2).Value
s = Workbooks("2.xls").Sheets(1).Cells(n,3).Value
If k s Then
Else:Workbooks("2.xls").Sheets(1).Cells(n,2).Font.ColorIndex = 3
Workbooks("2.xls").Sheets(1).Cells(n,3).Font.ColorIndex = 3
End If
Next
End Sub
唐小糊 1年前 已收到1个回答 举报

xsfsegdesc 幼苗

共回答了14个问题采纳率:85.7% 举报

用VLOOKUP()函数很简单的原理如下,对照表二的第一列,找出和表一相同的学号,然后把相同学号的表二第三列数值输入到表一第四列中假设两个表分别为SHEET1SHEET2两个表的列分别为A B C D在SHEET1的D2单元格中输入:=VLOOKUP(Sheet1!A2,Sheet2!A:C,3,FALSE)然后往下拖这个公式就可以全部实现了我已经给你实验过了没有问题,看图不行再补充

1年前

5
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 16 q. 0.019 s. - webmaster@yulucn.com