A表:
序号 数值1 数值2 数值3
1
2
3
4
5
6
7
8
9
B表:
序号 数值1 数值2 数值3
2 10 15 30
3 8 9 2
5 1 4 7
7 20 40 60
9 11 6 49
把B表中序号值等于A表中的序号值时,填入相应的数值
新的A表
序号 数值1 数值2 数值3
1
2 10 15 30
3 8 9 2
4
5 1 4 7
6
7 20 40 60
8
9 11 6 49
就实现这样的效果。
我写了一个相应的宏,但效率极低,运行时间太长,因为A表有500项,B表有300项,运行得20多分钟还没完,麻烦大家给看一下,提个好的建议,多谢了。。。。
Sub zh()
Dim sun1
Dim bobo1, bobo2, bobo3, bobo4, bobo5, bobo6, bobo7
Dim temp1, temp2, temp3
temp3 = 4
For temp1 = 6 To 542
sun1 = Cells(temp1, 1).Value
For temp2 = temp3 To 227
Windows("1.xls").Activate
bobo1 = Cells(temp2, 1).Value
bobo2 = Cells(temp2, 3).Value
bobo3 = Cells(temp2, 4).Value
bobo4 = Cells(temp2, 5).Value
bobo5 = Cells(temp2, 6).Value
bobo6 = Cells(temp2, 7).Value
bobo7 = Cells(temp2, 8).Value
Windows("业务状况.xls").Activate
If Val(sun1) = bobo1 Then
Cells(temp1, 3).Value = bobo2
Cells(temp1, 4).Value = bobo3
Cells(temp1, 5).Value = bobo4
Cells(temp1, 6).Value = bobo5
Cells(temp1, 7).Value = bobo6
Cells(temp1, 8).Value = bobo7
temp3 = temp3 + 1
Exit For
End If
Next temp2
Next temp1
MsgBox "转换完毕!!!"
end sub
[此贴子已经被作者于2007-1-2 16:21:00编辑过]
|