Excel精英培训网

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

[已解决]解释下循环?

[复制链接]
发表于 2015-1-28 09:56 | 显示全部楼层 |阅读模式
本帖最后由 afad12 于 2015-1-31 18:50 编辑

Sub 字典法()
    Dim arr, brr$(), i&, d As Object, s$
    Set d = CreateObject("scripting.dictionary")
    arr = Range("A2:E" & Range("A" & Rows.Count).End(xlUp).Row)
    ReDim brr(1 To UBound(arr), 1 To 1)
    For i = 1 To UBound(arr)
        s = arr(i, 3) & vbTab & arr(i, 4) & vbTab & arr(i, 5)
        d(s) = d(s) & ";" & arr(i, 1)
    Next
    For i = 1 To i - 1
        brr(i, 1) = Mid(d(arr(i, 3) & vbTab & arr(i, 4) & vbTab & arr(i, 5)), 2)
    Next
    [f2].Resize(i - 1) = brr
End Sub
最佳答案
2015-1-28 10:50
其实就是少声明了一个变量
常规做法就是再声明一个变量在第二个循环开始
比如 for j=1 to i-1
发表于 2015-1-28 10:42 | 显示全部楼层
For i = 1 To i - 1,应该不会执行。直接忽略了
回复

使用道具 举报

发表于 2015-1-28 10:44 | 显示全部楼层
看错了,应该会执行,i-1这里i并不等于1
回复

使用道具 举报

发表于 2015-1-28 10:50 | 显示全部楼层    本楼为最佳答案   
其实就是少声明了一个变量
常规做法就是再声明一个变量在第二个循环开始
比如 for j=1 to i-1
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-24 09:01 , Processed in 0.276499 second(s), 9 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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