Excel精英培训网

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

[已解决]咨询关于字典的问题

[复制链接]
发表于 2016-2-13 15:03 | 显示全部楼层 |阅读模式
If d(a) = 2 Then d2(a) = ""
如上所示,意思大概是如果判断成立的,就将符合的加入到字典d2中
为什么="",表示等于空值,反而可以是把符合的加到字典中呢?为什么不是让字典清空的意思。
完整的代码如下:
Sub Macro1()
Dim arr, d, d2, i%, j%
Set d = CreateObject("scripting.dictionary")
Set d2 = CreateObject("scripting.dictionary")
arr = [a1:i1]
For j = 1 To UBound(arr, 2)
    x = arr(1, j)
    For i = 1 To Len(x)
        s = Mid(x, i, 1)
        d(s) = d(s) + 1
    Next
Next
For Each a In d.keys
    If d(a) = 2 Then d2(a) = ""
Next
For j = 1 To UBound(arr, 2)
    x = arr(1, j)
    p = ""
    For i = 1 To Len(x)
        s = Mid(x, i, 1)
        If d2.exists(s) Then p = p & s
    Next
    If Len(p) = 2 Then Cells(1, j) = p: Cells(1, j).Font.Size = 36
Next
End Sub
代码运行前:
1.png
代码运行后:
2.png

最佳答案
2016-2-13 15:58
一个是字典的关键字,一个是字典的条目,a是关键字,“”是条目,写成这样估计应该明白了d2.Add "a", ""   
发表于 2016-2-13 15:58 | 显示全部楼层    本楼为最佳答案   
一个是字典的关键字,一个是字典的条目,a是关键字,“”是条目,写成这样估计应该明白了d2.Add "a", ""   
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-4 19:20 , Processed in 0.150361 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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