首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VBA >

Excel数据从一张表导入另一张表解决思路

2012-03-20 
Excel数据从一张表导入另一张表各位达人,最近遇到一个问题,就是我有两张表(如表1、表2),格式如下:表1ABCD表

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中?

如果是,方法有二。

方法一:
上代码

VB code
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 

热点排行