[算表] VBA 大量资料处理

楼主: skating (X-Tracker 法克祺)   2017-09-15 10:00:11
软件:Excel
版本:2010
i=2
Do
If XXX then
J=2
Do
IF XXX then
Exit Do
End IF
J=J+1
Loop Until len(Worksheets("工作表2").Cells(J,1).Value)=0
End If
I=I+1
Loop Until len(Worksheets("工作表1").Cells(I,1).Value)=0
工作表1,2皆有近2万笔
每次都跑到当掉,请问这有解吗??
除了把资料导入数据库以外
作者: soyoso (我是耀宗)   2017-09-15 10:52:00
想法为内层判断如果是储存格符合某值就exit do来看,以range.find或工作表函数match来回传储存格或列号该储存格以上的范围为原po要执行其他动作就应可将do loop until len(worksheets("工作表2")...取消掉外层判断如果是储存格符合某值而执行接下来动作的话循环于autofilter可见储存格range.specialcells集合、range.find或工作表函数match(需调整范围)来针对于符合的储存格执行
作者: lowcat (猫逃)   2017-09-16 12:39:00
在内层循环加入 docents 就能减少没回应问题,再来就是减少使用cells比对cells,就能稍微提高速度
作者: soyoso (我是耀宗)   2017-09-16 13:10:00
docents是什么?google excel vba docents并没看到相关的是要提doevents这个函数吗
作者: lowcat (猫逃)   2017-09-16 21:45:00
对啦 doevents 字打错了,感谢纠正

Links booklink

Contact Us: admin [ a t ] ucptt.com