如何用excelvba教程复制行数每次不一至的数据到另一个工作表

请教各位:怎么样用VBA宏复制EXCEL数据到另一个表中?
[问题点数:20分,结帖人ssjywhr]
请教各位:怎么样用VBA宏复制EXCEL数据到另一个表中?
[问题点数:20分,结帖人ssjywhr]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
2011年7月 VB大版内专家分月排行榜第二2010年7月 VB大版内专家分月排行榜第二2009年12月 VB大版内专家分月排行榜第二2009年11月 VB大版内专家分月排行榜第二2009年10月 VB大版内专家分月排行榜第二2009年8月 VB大版内专家分月排行榜第二2008年11月 VB大版内专家分月排行榜第二2008年10月 VB大版内专家分月排行榜第二2008年9月 VB大版内专家分月排行榜第二
2010年6月 VB大版内专家分月排行榜第三2009年9月 VB大版内专家分月排行榜第三2009年3月 VB大版内专家分月排行榜第三2009年2月 VB大版内专家分月排行榜第三2009年1月 VB大版内专家分月排行榜第三
2011年12月 VB大版内专家分月排行榜第二2011年9月 VB大版内专家分月排行榜第二2011年8月 VB大版内专家分月排行榜第二2010年8月 VB大版内专家分月排行榜第二2009年9月 VB大版内专家分月排行榜第二
2012年2月 VB大版内专家分月排行榜第三2011年11月 VB大版内专家分月排行榜第三2011年3月 VB大版内专家分月排行榜第三2011年1月 VB大版内专家分月排行榜第三2010年3月 VB大版内专家分月排行榜第三2010年2月 VB大版内专家分月排行榜第三2009年10月 VB大版内专家分月排行榜第三2009年8月 VB大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。查看: 1268|回复: 4
求助excel VBA语言高手_将符合复杂条件的整行数据复制到另外一个工作表
阅读权限10
在线时间 小时
本帖最后由 tianyoude 于
14:03 编辑
(20.17 KB, 下载次数: 21)
10:00 上传
点击文件名下载附件
针对一个编号,看”第几次”列,
”第几次”列为1时, 如为对应 感染状况列 ”阴性”, 将这一整行数据复制到sheet2中,再依次查找”第几次”列 2 3 4 5 时, 对应感染状况列, 是否有阳性,如2对应阳性,将该行数据复制到sheet2的与之前的 同一行中,停止对该编号查找。
如至该编号”第几次”达到最大值均无“阳性”,则将最大值对应行复制到sheet2的同一行中;
”第几次”列为1, 如不是为”阴性”, 类似于 阳性, 未查/不详, 无配偶/固定性伴,阳性,等等;
再查找”第几次”列为2那一行, 如为”阴性”, 处理同上画横线. 如不是阴性,再查找”第几次”列为3那一行………
最后一行出现 阴性,此编号忽略或要都可以的
示范结果见 sheet3
整个数据较大,其他能非手工 实现的方法,各位前辈也可以推荐。
阅读权限95
在线时间 小时
本帖最后由 qy1219no2 于
10:32 编辑
我是这样理解的:
在同一编号中,查找“感染状况”首次出现“阴性”的数据行:
& && &1、如果有,则将此行复制到sheet2表中,再在此行之后查找该编号中“感染状况”为“阳性”的:
& && && && & (1)如果有,则将此行数据复制追加到sheet2表中与此编号“阴性”同行的后面几列中;
& && && && & (2)如果此编号查找完了,也没有符合条件的,则将此编号最后一行数据视同“阳性”处理方法。
& && &2、如果没有,则跳过此编号,直接查找下一编号。
不知道对不对。如果对的话,哪如果首次出现“阴性”在此编号的最后一行,如何处理?
阅读权限100
在线时间 小时
Sub lqxs()
Dim Arr, i&, j&, aa, n&, y&
Dim d, k, t
Set d = CreateObject(&Scripting.Dictionary&)
Sheet2.Activate
[a2:z5000] = &&
Arr = Sheet1.[a1].CurrentRegion
For i = 2 To UBound(Arr)
& & d(Arr(i, 1)) = d(Arr(i, 1)) & i & &,&
Next
k = d.keys: t = d.items: n = 1
For i = 0 To UBound(k)
& & t(i) = Left(t(i), Len(t(i)) - 1)
& & If InStr(t(i), &,&) Then
& && &&&aa = Split(t(i), &,&)
& && &&&For j = 0 To UBound(aa)
& && && && &If Arr(aa(j), 3) = &阴性& Then
& && && && && & n = n + 1
& && && && && & Cells(n, 1).Resize(1, UBound(Arr, 2)) = Application.Index(Arr, aa(j), 0)
& && && && && & For y = UBound(aa) To j + 1 Step -1
& && && && && && &&&If Arr(aa(y), 3) = &阴性& Or Arr(aa(y), 3) = &阳性& Then
& && && && && && && && &Cells(n, UBound(Arr, 2) + 1).Resize(1, UBound(Arr, 2)) = Application.Index(Arr, aa(y), 0)
& && && && && && && && &GoTo 100
& && && && && && &&&End If
& && && && && & Next
& && && && &End If
& && &&&Next
& & Else
& && &&&If Arr(t(i), 3) = &阴性& Then
& && && && &n = n + 1
& && && && &Cells(n, 1).Resize(1, UBound(Arr, 2)) = Application.Index(Arr, t(i), 0)
& && &&&End If
& & End If
100:
Next
End Sub
复制代码
阅读权限100
在线时间 小时
欢迎新会员!
请见附件。点击按钮即可。
12:00 上传
点击文件名下载附件
29.74 KB, 下载次数: 79
阅读权限10
在线时间 小时
本帖最后由 tianyoude 于
14:02 编辑
qy1219no2 发表于
我是这样理解的:
在同一编号中,查找“感染状况”首次出现“阴性”的数据行:
& && &1、如果有,则将此行 ...
你太了解了,最后一行出现 阴性,此编号忽略或要都可以的
玩命加载中,请稍候
玩命加载中,请稍候
本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!
本站特聘法律顾问:徐怀玉律师 李志群律师
Powered by问题补充&&
本页链接:
猜你感兴趣
服务声明: 信息来源于互联网,不保证内容的可靠性、真实性及准确性,仅供参考,版权归原作者所有!Copyright &
Powered byExcel中如何将数据复制到另一个工作表中,改动会自动更新?
Excel中如何将数据复制到另一个工作表中,改动会自动更新?
09-10-17 & 发布
这可用vlookup()函数解决,以成绩统计表中马士帅为例,C3的公式为=VLOOKUP($B3,分数表!$B:$E,2,0),即以$B3为关键字,查找分数表中B列到E列的数,要求返回第2列的数(即C列,因为是从B列起算的),加0是不要求精密查找。这样就返回了第一个人的语文分了,把公式稍微改一下,把2换成3,放在D3中,则返回第一个人的数学分,再把这三个公式向下填充即可。&BR/&附件:&a href=&/browse/download.php?path=/87/10/82/.9873952.xls&filename=请教(1).xls& target=&_blank&&请教(1).xls&/a&
请登录后再发表评论!
假如原Excel文件名称为:BOOK1.XLS页码名称为SHEET1原数据单元格的坐标点为 A4 则在新表格的选定单元格内输入:=[Book1.xls]Sheet1!$A$4也有简单的方法:输入: = 后再使用鼠标选定原数据单元格 单击回车 搞定.提示:此方法必须两个文件(原文件.新文件)同时打开.如果不是同时打开.也会自动更新新数值到新文件.此方法可带入数值和文字.但是格式无法代入
请登录后再发表评论!
假如原Excel文件名称为:BOOK1.XLS页码名称为SHEET1原数据单元格的坐标点为    A4   则在新表格的选定单元格内输入:=[Book1.xls]Sheet1!$A$4也有简单的方法:输入:  =    后再使用鼠标选定原数据单元格  单击回车  搞定。提示:此方法必须两个文件(原文件,新文件)同时打开。如果不是同时打开,也会自动更新新数值到新文件。此方法可带入数值和文字。但是格式无法代入
请登录后再发表评论!

我要回帖

更多关于 excelvba 的文章

 

随机推荐