Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 5304|回复: 19

[已解决]帮忙解释下代码?

[复制链接]
发表于 2014-5-29 16:38 | 显示全部楼层 |阅读模式
本帖最后由 adadada 于 2014-5-30 21:40 编辑

代码里加个Exit For,为什么退出循环,这句代码弄不明白?
最佳答案
2014-5-29 17:09
加了exit for,能在满足第1个条件时马上退出循环,不必循环至最后,数据多时速度提升显著,
某些情况下,不会影响结果。
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2014-5-29 16:43 | 显示全部楼层
是exit for的用法不明白,还是为什么在这里用不明白?
前者的话解释一下,exit for 用来跳出本循环;
后者的话,需要先了解代码的意图。
我不想仔细看代码,所以就不解释了。
回复

使用道具 举报

发表于 2014-5-29 16:53 | 显示全部楼层
exit就是用来跳出循环的
你不要的话,就删除喽
回复

使用道具 举报

发表于 2014-5-29 16:56 | 显示全部楼层
Sub test()
    Dim i&, j&, k&, m&, n&


    m = [e65536].End(3).Row - 2  '获取E列最后非空单元格的行数减掉2,这里也就15-2
    arr = [e3].Resize(m)         ' e3开始往下数m个单元格,这里m是13,也就是把[e3:e15],放入数组arr

    n = [f65536].End(3).Row - 2   '获取f列最后非空单元格的行数减掉2,这里也就15-2
    brr = [f3].Resize(n, 4)      ' f3开始往下数n个单元格,这里n是13,也就是把[f3:f15],放入数组brr

    ReDim crr(1 To m, 1 To 4)     '重新定义数组crr,数组范围是行1-M行,列1-4列
    For i = 1 To m
        For j = 1 To n
            If brr(j, 1) = arr(i, 1) Then '判断两个数组第一列中是否有相同
                For k = 1 To 4
                    crr(i, k) = brr(j, k)  '把相同的数据放入数组crr
                Next
                Exit For          '没有退出循环
            End If
        Next
    Next

    [f3].Resize(m, 4) = crr       '写入数组crr

End Sub

回复

使用道具 举报

 楼主| 发表于 2014-5-29 17:00 | 显示全部楼层
大灰狼1976 发表于 2014-5-29 16:43
是exit for的用法不明白,还是为什么在这里用不明白?
前者的话解释一下,exit for 用来跳出本循环;
后者 ...

加exit for和不加exit for有什么区别,不加exit for也能达到效果
回复

使用道具 举报

发表于 2014-5-29 17:09 | 显示全部楼层    本楼为最佳答案   
加了exit for,能在满足第1个条件时马上退出循环,不必循环至最后,数据多时速度提升显著,
某些情况下,不会影响结果。
回复

使用道具 举报

 楼主| 发表于 2014-5-29 17:12 | 显示全部楼层
大灰狼1976 发表于 2014-5-29 17:09
加了exit for,能在满足第1个条件时马上退出循环,不必循环至最后,数据多时速度提升显著,
某些情况下,不 ...

你说的太好了,我也觉得是为了提速
回复

使用道具 举报

发表于 2014-5-29 17:17 | 显示全部楼层
adadada 发表于 2014-5-29 17:12
你说的太好了,我也觉得是为了提速

那它应该加在if语句内呀
回复

使用道具 举报

 楼主| 发表于 2014-5-29 17:18 | 显示全部楼层
QLZ0602 发表于 2014-5-29 17:17
那它应该加在if语句内呀

那我就搞不明白了?
回复

使用道具 举报

发表于 2014-5-29 17:24 | 显示全部楼层
本帖最后由 大灰狼1976 于 2014-5-29 17:25 编辑

你们真的看仔细了,难道不在if里面???
还要看清楚一点,作者的意图是要跳出哪个循环,不要乱评论,容易误导新手
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-25 16:06 , Processed in 0.366524 second(s), 9 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表