» 您尚未登录:请 登录 | 注册 | 标签 | 帮助 | 小黑屋 |


发新话题
打印

[电脑] 继续求教EXCEL问题,自动复制到另外的工作表

上次的VLOOKUP函数很强,不过试了很多次才明白意义...

想知道可不可以如果在某列填特定值,可以将该行复制到相应的工作表的功能或函数吗?

比如A,1是1,则工作表1的第一行会复制该行,新增A,2如果是1,则第二行继续复制。

感觉VLOOKUP好像也可以,不过如果值一样的话是不是无法精确匹配?求EXCEL高手了!


TOP

可能语言表述有点难,还是截图吧...图一是工作表1,如果满足工作表第一列是1这个条件的行,则复制到工作表2,如果新增行也继续,IF命令试过好像不能,或者命令本身有问题

附件: 您所在的用户组无法下载或查看附件



TOP

其实应该是行关联的问题,明白自己表述有问题,不过EXCEL的话其实有难度...

已经想到要条件去解决,EXCEL不过有没有行关联的函数?怕条件太多影响表格效率...


TOP

引用:
原帖由 Cheve 于 2013-4-24 08:54 发表
posted by wap, platform: iPhone

楼主其实是有个自动复制要求的,不用vba怎么实现自动筛选+粘贴复制 靠那些个功能有限的公式吗

所以vba 几句话就能解决楼主问题

当然如果楼主不要求自动话的话 手动可以通过先 ...
求那几句话,谢谢了:)...另外曾经用过一次VBA,每次都让EXCEL闪动得很厉害,点一下就自己运行一下...

TOP

引用:
原帖由 jammin 于 2013-4-24 20:01 发表
posted by wap, platform: iPhone

如果工作表2不需要修改的话,可以用排序加offset函数搞定,动不动vba喷了
就是需要修改而且尽量不要排序,涉及到日期...

TOP

引用:
原帖由 Cheve 于 2013-4-24 23:17 发表
posted by wap, platform: iPhone

楼主的意思应该是,每次工作表1有新数据更新就要检测是否满足1,满足后自动复制粘贴到工作表2的最后一行数据下面 , 这个用offset定位能实现?复制粘贴这个动作本身就是需要vba的  ...
就是这个意思,如果使用VBA的话,会不会每次有更改都闪一下?

TOP

引用:
原帖由 jammin 于 2013-4-25 18:48 发表
posted by wap, platform: iPhone

用公式可以很快做到的:

工作表1里进行所有的修改;
工作表1里面符合条件的记录,根据先后次序出现在工作表2中;
工作表2只做展示不能修改,当然你可以copy出去再修改
公式的话当表很长的时候要做很多功夫,而且好像无法隐藏行...

TOP

引用:
原帖由 Cheve 于 2013-4-25 18:16 发表
posted by wap, platform: iPhone

不会闪 有一条语句是控制屏幕更新用的
代码一开始先关掉屏幕更新,在代码结尾处打开屏幕更新就ok了 就不会闪了
这样OK吗?谢谢指教了!

Application.ScreenUpdating = False

Sub c()
    FOR I = 1 to 100
    if Sheets("sheet1")(A,I)=1
    then Sheets("sheet1").Range("ai:di") copy Destination:= Sheets("sheet2").Range("ai:di")  (怎样可以做到粘贴到最后一行?)
    next
End Sub

Application.ScreenUpdating = True

TOP

引用:
原帖由 tsubasa2000 于 2013-4-26 08:37 发表
posted by wap, platform: Android

楼主你相信我,你这种情况用筛选后直接复制更方便。如果是多个条件,就插一列用if函数做一个标注后再筛选。

至于一搞就vba的,太高端了不适合你。
希望减少手工操作,另外希望表2修改的话要密码,不是随便人都可以改...还有一点是其实是会有表3、表4等,不同的条件复制到不同的表

TOP

引用:
原帖由 Cheve 于 2013-4-26 14:35 发表
运行 DO_TEST() 里面可以修改总行数和查找的数值

Sub DO_TEST()
Application.ScreenUpdating = False
Sheets(2).Cells.Clear
             Call PRES(100, 2)           '可以更改 100表示有100行 3表示查找3
...
非常感谢,我试试自己能不能看得明白...

TOP

引用:
原帖由 jammin 于 2013-4-26 10:12 发表
既然你每次都是从sheet1的第一行开始判断,那么不需要copy到sheet2的最后一行.
直接 Destination:=Sheets("sheet2").range("a1") 得了

另外做得地道点,在copy前需要清空sheet2的内容

还是真心不建议这种用公式 ...
用公式的话,有很多FALSE的值不知道应该怎么隐藏,而且每行有大约7-8列的值,而且有表3、表4等,其实运算量也挺大的...

TOP

引用:
原帖由 不锈不锈钢 于 2013-4-26 16:13 发表
方法什么大家都说得很好,我就不插嘴了

但是插一句LZ记录数据方法上的问题,按一般情况而言,历史数据是非常重要的(比如学习概率分布等等),而LZ这种记录方法是不是等于把历史全部抹杀了,只保留最新数据???
是的,只要最新的数据即可。其实这个工作不是十分必要,不过想知道自己可以操作EXCEL到什么程度...

TOP

引用:
原帖由 SeraphZtoA 于 2013-4-26 19:18 发表
这还不如用透视表

LZ第二个表用透视表不就行了?

话说LZ的需求真的好奇怪
因为表1有很多人可以修改,表2希望只有1个人可以改...

TOP

发新话题
     
官方公众号及微博