Excel精英培训网

 找回密码
 注册
查看: 1433|回复: 1

[无附件] 请指点循环变量的问题

[复制链接]
发表于 2019-12-18 07:19 | 显示全部楼层 |阅读模式
Sub 数组方法2()
Dim arr, t
Dim x As Integer, x1 As Integer
Dim sr As String, sr1 As String
清除颜色
t = Timer
arr = Range("d2:d" & Range("a65536").End(xlUp).Row)
For x = 1 To UBound(arr)
   If x = UBound(arr) Then Range(Left(sr, Len(sr) - 1)).Interior.ColorIndex = 3
   If arr(x, 1) > 500 Then
      sr1 = sr
      x1 = x + 1
      Do
        x = x + 1
      Loop Until arr(x, 1) <= 500

      sr = sr & "A" & x1 & ":D" & x & ","
      If Len(sr) > 255 Then
        sr = sr1
        x = x1 - 1
        Range(Left(sr, Len(sr) - 1)).Interior.ColorIndex = 3
        sr = ""
      End If
     x = x - 1
   End If
Next x
MsgBox Timer - t
请教下
假定当For循环进行第400次循环(即X=400时),If arr(x, 1) > 500条件为真时X1=X+1=400+1=401,If Len(sr) > 255 条件为真时X=X1-1=401-1=400,当X=X1-1执行完后再执行x = x - 1时x = x - 1=400-1=399.这样For循环就会进行死循环,但是我运行代码时没出现问题请前辈再指点下我的疑问

上面的代码我打包上传,工作簿里有5段代码只请大家看  Sub 数组方法2( )  这段代码就行了
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2019-12-18 08:34 | 显示全部楼层
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-1 04:19 , Processed in 0.097577 second(s), 7 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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