Excel精英培训网

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

[分享] 学习 字典(DICTIONARY) 讨论答疑帖

[复制链接]
发表于 2007-10-7 02:29 | 显示全部楼层 |阅读模式

先参考 这两帖

浅谈DICTIONARY(字典)对象

http://club.excelhome.net/dispbbs.asp?boardID=2&ID=265056&page=1&px=0

DICTIONARY(字典)对象 补遗(一)

http://www.excelpx.com/forum.php?mod=viewthread&tid=27869&replyID

如果看完上述两帖,还有不懂的,到不如把问题提出来,

论坛里高手不少,谁有空谁解答。大家都能看见。

ps:如果不懂数组,请先学习数组。

发表于 2007-10-7 08:23 | 显示全部楼层

谢谢ldy老师,这么晚了还在发帖,辛苦了!

有时间学学字典,这个东东好象跟我雾查字典大不一样了!

[em01]
回复

使用道具 举报

发表于 2007-10-7 08:24 | 显示全部楼层

ps:如果不懂数组,请先学习数组。

那就麻烦了,数组我是基础为零呀!

回复

使用道具 举报

发表于 2007-10-7 08:40 | 显示全部楼层

我也不懂数组  基础为0

回复

使用道具 举报

发表于 2007-10-7 11:19 | 显示全部楼层

这段时间在刮字典风。

回复

使用道具 举报

发表于 2007-10-7 11:34 | 显示全部楼层

Sub macro1()
Dim d As New Dictionary, s, i As Long
s = [{"aa","Aa","aA"}]
On Error Resume Next
d.CompareMode = BinaryCompare '二进制方式比较,即a,A是不同字符
For i = 1 To 3
d.Add s(i), ""
Next
Debug.Print Join(d.Keys, vbCrLf); vbCrLf; "d.Count=" & d.Count  这一句是什么意思?print不是打印吗?
End Sub

 

回复

使用道具 举报

 楼主| 发表于 2007-10-7 11:56 | 显示全部楼层

QUOTE:
以下是引用杨副官在2007-10-7 11:34:09的发言:


Debug.Print Join(d.Keys, vbCrLf); vbCrLf; "d.Count=" & d.Count  这一句是什么意思?print不是打印吗?

 

相当于 msgbox 的功能

http://www.excelpx.com/forum.php?mod=viewthread&tid=27869&replyID

这里面的附件中的代码注释里有说明

[此贴子已经被作者于2007-10-7 12:17:15编辑过]
回复

使用道具 举报

发表于 2007-10-7 17:20 | 显示全部楼层

ldy老师:

全国地区代码.XLS中

For i = 1 To UBound(arr) '遍历
        d.Add arr(i, 1), arr(i, 2) '地名查邮编
        d.Add arr(i, 2), arr(i, 1) '邮编查地名
       
        If arr(i, 2) Like "##0000" Then d("all") = d("all") & "," & arr(i, 1) '省级
       
        If Mid(arr(i, 2), 3) > "0000" Then '省级以下
            If Right(arr(i, 2), 2) = "00" Then '地市级
                Mid(arr(i, 2), 3, 4) = "0000"
                d(d(arr(i, 2))) = d(d(arr(i, 2))) & "," & arr(i, 1) '嵌套字典对象,反查
            Else
                Mid(arr(i, 2), 5, 2) = "00" '县区级
                d(d(arr(i, 2))) = d(d(arr(i, 2))) & "," & arr(i, 1)
            End If
        End If
    Next

真是搞的我晕头转向

另外:

[a2:a40].Validation.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:=Mid(d("all"), 2) '省份名称

这句也不太能理解

 

[em04][em04]
[此贴子已经被作者于2007-10-7 17:23:31编辑过]
回复

使用道具 举报

发表于 2007-10-7 17:25 | 显示全部楼层

001 偶写的那个"查询" 该怎么用上字典[em23]
回复

使用道具 举报

发表于 2007-10-7 18:06 | 显示全部楼层


就这个问题 指教一下

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-2 16:31 , Processed in 0.329077 second(s), 2 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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