Excel精英培训网

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

[已解决]能不能解释下代码的含义?

[复制链接]
发表于 2013-8-27 00:57 | 显示全部楼层 |阅读模式
本帖最后由 sfdsfs 于 2013-8-27 10:32 编辑

Private Sub CommandButton1_Click()
    Dim arr, i&, j&, d As Object
    Set d = CreateObject("scripting.dictionary")
    d(0) = "A"
    d(1) = "B"
    d("03") = "C"
    d("13") = "D"
    d("04") = "E"
    d("14") = "F"
    d("05") = "X"
    d("15") = "Y"
    d("25") = "Z"
    arr = [m5].CurrentRegion
    For i = 1 To UBound(arr)
        If d.Exists(arr(i, 1)) Then
            arr(i, 1) = d(arr(i, 1))
            arr(i, 2) = arr(i, 2) & "/" & arr(i, 2)
            For j = 3 To 5
                arr(i, j) = d(arr(i, j) & j)
            Next
        End If
    Next
    [m5].CurrentRegion = arr
End Sub
最佳答案
2013-8-27 01:10
本帖最后由 我心飞翔410 于 2013-8-27 01:14 编辑

http://www.excelpx.com/forum.php?mod=viewthread&tid=186721  代码解释器
http://www.excelpx.com/forum.php?mod=viewthread&tid=246624  初识字典
http://www.excelpx.com/forum.php?mod=viewthread&tid=148423&replyID=&skin=1  兰版字典总结
你可以看看 这两个 看了 大体明白了
发表于 2013-8-27 01:04 | 显示全部楼层
本帖最后由 我心飞翔410 于 2013-8-27 01:08 编辑

Private Sub CommandButton1_Click()              '私有的子程序 CommandButton1_Click()
Dim arr, i&, j&, d As Object                    '定义变量 arr,i&,j&,d 为 对象
Set d = CreateObject("scripting.dictionary")    '设定d=创建字典对象("scripting.dictionary")
d(0) = "A"                                      'd(0)="A"
d(1) = "B"                                      'd(1)="B"
d("03") = "C"                                   'd("")="C"
d("13") = "D"                                   'd("13")="D"
d("04") = "E"                                   'd("")="E"
d("14") = "F"                                   'd("14")="F"
d("05") = "X"                                   'd("05")="X"
d("15") = "Y"                                   'd("15")="Y"
d("25") = "Z"                                   'd("25")="Z"
arr = [m5].CurrentRegion                        'arr=[m5的当前区域
For i = 1 To UBound(arr)                        '设定变量范围为i=1到UBound(arr)
    If d.Exists(arr(i, 1)) Then                  '如果 d.Exists(arr(i,1)) 则执行
       arr(i, 1) = d(arr(i, 1))                  'arr(i,1)=d(arr(i,1))
       arr(i, 2) = arr(i, 2) & "/" & arr(i, 2)   'arr(i,2)=arr(i,2) & "/" & arr(i,2)
       For j = 3 To 5                            '设定变量范围为j=3到5
          arr(i, j) = d(arr(i, j) & j)           'arr(i,j)=d(arr(i,j) & j)
       Next                                      '下一个
    End If                                       'End如果
Next                                            '下一个
[m5].CurrentRegion = arr                        '[m5的当前区域=arr
End Sub                                         'End子程序
回复

使用道具 举报

发表于 2013-8-27 01:10 | 显示全部楼层    本楼为最佳答案   
本帖最后由 我心飞翔410 于 2013-8-27 01:14 编辑

http://www.excelpx.com/forum.php?mod=viewthread&tid=186721  代码解释器
http://www.excelpx.com/forum.php?mod=viewthread&tid=246624  初识字典
http://www.excelpx.com/forum.php?mod=viewthread&tid=148423&replyID=&skin=1  兰版字典总结
你可以看看 这两个 看了 大体明白了
回复

使用道具 举报

 楼主| 发表于 2013-8-27 10:25 | 显示全部楼层
我心飞翔410 发表于 2013-8-27 01:10
http://www.excelpx.com/forum.php?mod=viewthread&tid=186721  代码解释器
http://www.excelpx.com/forum ...

谢谢,能不能再详细点?

点评

基础的字典贴弄过来给你了 你好好看看 配合vba解释代码的 ok  发表于 2013-8-27 10:29
字典对象啊 这个 你先要了解 我不可能全部给你说清楚的 还是的自己看看 先了解字典对象 就明白了  发表于 2013-8-27 10:27
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-21 11:46 , Processed in 0.874115 second(s), 12 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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