EXCEL 中有2张表各有数据,a表与b表B列对应,满足b表B(i)=a表B(j)如何用宏将b表A列数据导入a表A列中,

b表a表... b表

a表
展开
 我来答
百度网友51af51a
2013-04-19 · TA获得超过287个赞
知道小有建树答主
回答量:176
采纳率:0%
帮助的人:102万
展开全部
把A、B两张表的A列和B列都对换一下位置,然后在A表B1单元格输入:
=vlookup(A1,sheet2!A:A,2,0)
下拉单元格即可!
更多追问追答
追问
你这个是函数的方法吧,我试试
追答
是啊,用vlookup函数很容易,无需用到宏。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tiandiyunzhuan
2013-04-19 · TA获得超过176个赞
知道小有建树答主
回答量:152
采纳率:100%
帮助的人:102万
展开全部
Sub b列对比()
Application.ScreenUpdating = False
Dim lr1 As Long
lr1 = 1
Do While Sheets(1).Range("b" & lr1) <> ""
If Sheets(1).Range("b" & lr1) = Sheets(2).Range("b" & lr1) Then
Sheets(1).Range("a" & lr1) = Sheets(2).Range("a" & lr1).Value
End If
lr1 = lr1 + 1
Loop
Application.ScreenUpdating = True
End Sub
更多追问追答
追问

你这个好像只能配对一列

追答
开始误解你的意思了
试下这个
Sub b列对比()
Application.ScreenUpdating = False
Dim lr1 As Long
Dim lr2 As Long
Dim lrb1 As Long
Dim lrb2 As Long
lrb1 = Sheets(1).[b65536].End(xlUp).Row
lrb2 = Sheets(2).[b65536].End(xlUp).Row
For lr2 = 1 To lrb2
For lr1 = 1 To lrb1
If Sheets(1).Range("b" & lr1) = Sheets(2).Range("b" & lr2) Then
Sheets(1).Range("a" & lr1) = Sheets(2).Range("a" & lr2).Value
End If
Next lr1
Next lr2
Application.ScreenUpdating = True
End Sub
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lawrence2060
2013-04-19 · TA获得超过158个赞
知道小有建树答主
回答量:228
采纳率:0%
帮助的人:98.3万
展开全部
b的A1输入:=INDEX(a!$A$1:$A$5,MATCH(B1,a!$B$1:$B$5,0),1),想下填充

A$1:$A$5和$B$1:$B$5根据需要自动调整或者改为A:A和B:B
更多追问追答
追问
另外2个我都能看懂,你这个我看不懂
追答
按照你给你例子,有5行数据,那么MATCH(B1,a!$B$1:$B$5,0)返回的就是B1的单元格的内容在a表B1到B5这个范围内对应值所在的行号,比如B1=a,那么返回的1
index函数式取指定位置的数值。
如果数据比较多你就改为:=INDEX(a!A:A,MATCH(B1,a!B:B,0),1)
如果还是不懂函数的意思,就百度吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式