|
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
代码运行前:
代码运行后:
一个是字典的关键字,一个是字典的条目,a是关键字,“”是条目,写成这样估计应该明白了d2.Add "a", ""
|
|