假设有张表aaaa,在C3位置输入某人的编号,则在同行的D3、E3.、F3.............BB3位置显示另一数据表bbbb中与输入的编号对应的该人的数据。请问如何实现?谢谢!!!
好像是根据代码引用另一表中的数据。VLOOKUP搞了三天,搞不出来,结果总是##N/A或0,请大师帮忙,谢谢!!!
或者用copy的方法,但这样代码001对应的行号又不知道,由于源数据人员较多,不能一个一个复制吧,输入代码后,自动运行才好。麻烦您了。如果可以,给我地址,我给您寄点我自己产品蛇油膏,以表谢意!
Sub Test()
'将sheet3的数据匹配到sheet2中
Dim DataCount As Integer
DataCount = Sheet2.UsedRange.Rows.Count
Dim CodeNum As String
'遍历每一行的编号,从第一行的编号开始
For i = 1 To DataCount
'根据编号所在的列获取编号,编号所在的列为b列
CodeNum = Sheet2.Cells(i, "b")
If IsNull(CodeNum) Or CodeNum = vbNullString Then
GoTo For_Continue
End If
Call TestA(CodeNum, i)
For_Continue:
Next i
MsgBox ("执行成功")
End Sub
'遍历sheet3的数据,将对应的数据加入到sheet2
Sub TestA(CodeNum As String, CodeNumIndex As Variant)
Dim DataCountA As Integer
DataCountA = Sheet3.UsedRange.Rows.Count
Dim CodeNumA As String
'遍历匹配每一行的数据
For i = 1 To DataCountA
'匹配sheet3中编号所在的列
CodeNumA = Sheet3.Cells(i, "a")
If IsNull(CodeNumA) Or CodeNumA = vbNullString Then
GoTo For_ContinueA
End If
'为匹配成功的行赋值
If CodeNum = CodeNumA Then
'为Sheet2的CodeNumIndex行d列赋值为Sheet3的i行b列
Sheet2.Cells(CodeNumIndex, "d") = Sheet3.Cells(i, "b")
Sheet2.Cells(CodeNumIndex, "e") = Sheet3.Cells(i, "c")
End If
For_ContinueA:
Next i
End Sub
自己改一下参数吧,执行之前记得备份
万分感谢!!!!
@在下路过: 给个地址,我寄点好东西给您,略表谢意。
@真空妙有: 不用了,有用就行