Excel数据从一张表导入另一张表
各位达人,最近遇到一个问题,就是我有两张表(如表1、表2),格式如下:
表1 A B C D 表2 A B C
班级 姓名 性别 成绩 性别 姓名 成绩
1班 小王 男 男 小明 90
2班 小明 男 男 小红 85
想通过VBA的方法判断出两张表里都有小明,然后要把表2中小明的成绩导入到表1对应的列中(即D列),上表只是举例,实际的表比较复杂,呵呵,但目的是相同的,小弟不才,写了一段代码,但只能“判断出两张表里都有小明”,下一步再判断后的基础上导入数据应该怎么写呢?望大侠指点阿,谢谢!!!
我的代码:Public Sub test()
Set s1 = Sheets("表1")
Set s2 = Sheets("表2")
For b1 = 4 To s1.[b65536].End(3).Row
For b2 = 4 To s2.[b65536].End(3).Row
If s1.Range("b" & b1) = s2.Range("b" & b2) Then
s1.Range("b" & b1).Interior.ColorIndex = 4
s2.Range("b" & b2).Interior.ColorIndex = 4
End If
Next b2
Next b1
End Sub
[解决办法]
楼主是不是想:把表2中对应人名的成绩贴到表1中?
如果是,方法有二。
方法一:
上代码
Public Sub GetScore() Dim S1 As Worksheet, S2 As Worksheet Dim b1 As Long, b2 As Long Set S1 = Worksheets("表1") Set S2 = Worksheets("表2") For b1 = 4 To S1.Cells(65535, 2).End(xlUp).Row For b2 = 4 To S2.Cells(65535, 2).End(xlUp).Row If S1.Range("B" & b1) = S2.Range("B" & b2) And Sh1.Range("C" & b1) = Sh2.Range("A" & b2) Then S1.Range("D" & b1) = S2.Range("C" & b2) End If Next b2 Next b1End Sub