原帖由 Cheve 于 2013-4-24 08:54 发表
posted by wap, platform: iPhone
楼主其实是有个自动复制要求的,不用vba怎么实现自动筛选+粘贴复制 靠那些个功能有限的公式吗
所以vba 几句话就能解决楼主问题
当然如果楼主不要求自动话的话 手动可以通过先 ...
原帖由 @jammin 于 2013-4-24 20:01 发表
posted by wap, platform: iPhone
如果工作表2不需要修改的话,可以用排序加offset函数搞定,动不动vba喷了
原帖由 jammin 于 2013-4-24 20:01 发表
posted by wap, platform: iPhone
如果工作表2不需要修改的话,可以用排序加offset函数搞定,动不动vba喷了
原帖由 Cheve 于 2013-4-24 23:17 发表
posted by wap, platform: iPhone
楼主的意思应该是,每次工作表1有新数据更新就要检测是否满足1,满足后自动复制粘贴到工作表2的最后一行数据下面 , 这个用offset定位能实现?复制粘贴这个动作本身就是需要vba的 ...
原帖由 @conansick 于 2013-4-25 14:14 发表
就是这个意思,如果使用VBA的话,会不会每次有更改都闪一下?
原帖由 jammin 于 2013-4-25 18:48 发表
posted by wap, platform: iPhone
用公式可以很快做到的:
工作表1里进行所有的修改;
工作表1里面符合条件的记录,根据先后次序出现在工作表2中;
工作表2只做展示不能修改,当然你可以copy出去再修改
原帖由 Cheve 于 2013-4-25 18:16 发表
posted by wap, platform: iPhone
不会闪 有一条语句是控制屏幕更新用的
代码一开始先关掉屏幕更新,在代码结尾处打开屏幕更新就ok了 就不会闪了
原帖由 conansick 于 2013-4-25 22:56 发表
这样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("she ...
原帖由 @SeraphZtoA 于 2013-4-26 19:18 发表
这还不如用透视表
LZ第二个表用透视表不就行了?
话说LZ的需求真的好奇怪
原帖由 tsubasa2000 于 2013-4-26 08:37 发表
posted by wap, platform: Android
楼主你相信我,你这种情况用筛选后直接复制更方便。如果是多个条件,就插一列用if函数做一个标注后再筛选。
至于一搞就vba的,太高端了不适合你。
原帖由 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
...
原帖由 jammin 于 2013-4-26 10:12 发表
既然你每次都是从sheet1的第一行开始判断,那么不需要copy到sheet2的最后一行.
直接 Destination:=Sheets("sheet2").range("a1") 得了
另外做得地道点,在copy前需要清空sheet2的内容
还是真心不建议这种用公式 ...
原帖由 不锈不锈钢 于 2013-4-26 16:13 发表
方法什么大家都说得很好,我就不插嘴了
但是插一句LZ记录数据方法上的问题,按一般情况而言,历史数据是非常重要的(比如学习概率分布等等),而LZ这种记录方法是不是等于把历史全部抹杀了,只保留最新数据???
欢迎光临 TGFC Lifestyle (http://bbs.tgfcer.com/) | Powered by Discuz! 6.0.0 |