excel中,用VBA,如何根据条件,将已经存在的另一个工作表数据自动调出 50

例如,我有一个工作表1,字段为:编号,名称,面积三个,下面有事先录好有数据。然后,我还有另一个工作表2,字段为:编号,名称,面积三个,不过下面数据为空,我想作的是:当我在... 例如,我有一个工作表1,字段为:编号,名称,面积三个,下面有事先录好有数据。然后,我还有另一个工作表2,字段为:编号,名称,面积三个,不过下面数据为空,我想作的是:当我在工作表2中的A2单元格(固定的)中,输入工作表1中已经存在的编号字段下面的数据时,如编号为1(当然编号有重复,不只有一个,有很多编号等于1),那么我希望所有编号等于1的行,对应的名称,面积数据在另外两列自动列出(保证名称与面积一一对应),请大侠帮忙,很有挑战哦!
taohongjie的回答,有些问题,一是第二列、第三列的数据当一个编号输入后,再输另一个编号,后边两列数据应该先清空再更新,否则有时会加在一起;二是我输入完a2数据后,点其它单元格,表格会不动,或是很慢
展开
 我来答
taohongjie
2008-10-30 · TA获得超过310个赞
知道小有建树答主
回答量:339
采纳率:75%
帮助的人:148万
展开全部
试一下这一个
不过我有个疑问:工作表2的A2中的字段是名称,为什么要在里面输入编号来查找
sheet2中的结果数据从和第三行开始输出。
一定要将以下代码复制到sheet2的代码窗口才行,不明白的地方可以继续问我。
Private Sub Worksheet_Change(ByVal Target As Range)
j = 3
For i = 2 To 100 '假设表一的数据有100行
If Sheet1.Cells(i, 1) = Sheet2.Cells(2, 2) Then
Sheet2.Cells(j, 2) = Sheet1.Cells(i, 2)
Sheet2.Cells(j, 3) = Sheet1.Cells(i, 3)
j = j + 1
End If
Next i
End Sub
补充:
更新会很慢不知道是什么原因,计算速度应该是是很快的,除非你的表格超大。在我这儿是没有问题;按说不会出现两次的结果相加的情况。可用以下语句先清空表格:
i=3
do until sheet2.cells(i,1)=""
for k=1 to 3
sheet2.cells(i,k)=""
next k
i=i+1
loop
将代码放在j=3的上面
lgf126
2008-10-29 · TA获得超过1101个赞
知道小有建树答主
回答量:1077
采纳率:33%
帮助的人:466万
展开全部
在B列输入以下公式:
=IF([Book1.xlsx]Sheet1!$A:$A=$A2,[Book1.xlsx]Sheet1!$B:$B,"")
C列输入以下公式:
=IF([Book1.xlsx]Sheet1!$A:$A=$A2,[Book1.xlsx]Sheet1!$C:$C,"")

下拉填充,必须保持公式不变,"=$A2"一定要保持不变!

然后在A2中输入编号,B列和C列中,将会出现book1工作表同编号的名称和面积!
缺点是,编号相同的行,才会显示名称和面积!否则都是空项!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
liuyinde
2008-10-29 · TA获得超过6981个赞
知道大有可为答主
回答量:8941
采纳率:45%
帮助的人:1983万
展开全部
把公式分别复制到工作表2的B2和C2单元格回车再下拉复制你要的位置.然后把表1A列的编号复制在表2的A列就行了.注:两表在同一工作薄,工表未命名,如果命名用表名替换SHEET.
=if(iserror(vlookup(A2,SHEET1!a:D,2,false)),"",vlookup(A2,SHEET1!a:D,2,false))
=if(iserror(vlookup(A2,SHEET1!a:D,3,false)),"",vlookup(A2,SHEET1!a:D,3,false))
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yym6211
2008-10-29 · TA获得超过1159个赞
知道大有可为答主
回答量:895
采纳率:0%
帮助的人:729万
展开全部
在工作表2的B2单元格输入=LOOKUP(A2,Sheet1!A$2:A$4,Sheet1!B$2:B$4),其它类似。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式