案例不敏感的字典

我已经设置词典作为一个对象添加到该字典的几个项目,但它似乎区分大小写。 无论如何,我可以设置字典来识别不同的版本?

我的代码:

Sub Test() Dim sheet1 As String Dim Dict As Object Dim c As Range Sheet1= "TEST" Set Dict = CreateObject("Scripting.Dictionary") Dict.Add "MIKE", 0 Dict.Add "PHIL", 0 Dict.Add "Joe", 0 For Each c In ActiveWorkbook.Worksheets(Sheet1).UsedRange If Dict.Exists(ActiveWorkbook.Worksheets(Sheet1).Cells(c.Row, c.Column).Value) Then Dict(ActiveWorkbook.Worksheets(Sheet1).Cells(c.Row, c.Column).Value) = Dict(ActiveWorkbook.Worksheets(Sheet1).Cells(c.Row, c.Column).Value) + 1 End If Next Sheet1.Cells(25, 3) = Dict("MIKE") Sheet1.Cells(25, 3) = Dict("PHIL") Sheet1.Cells(25, 3) = Dict("Joe") Set Dict = Nothing End Sub 

所以我想认识MIKE的“麦克风”和PHIL的“菲尔”等等。

提前致谢!

添加到@Ralph

dict.CompareMode = TextCompare

是我改变的文件。

我总是喜欢为我所有的编码设置一些东西。 所以,在写入任何附加代码之前,所有位于我的表单或表单上的模块和代码都从下面三行开始。

 Option Base 0 Option Explicit Option Compare Text 

如果我想在某个特定的Sub由于某种原因有不同的处理方式,那么我只在这个特定的sub这样做,并按照上面的注释(例子)中的build议进行操作:

 dict.CompareMode = BinaryCompare 'if I need a case-sensitive compare in this sub