案例不敏感的字典
我已经设置词典作为一个对象添加到该字典的几个项目,但它似乎区分大小写。 无论如何,我可以设置字典来识别不同的版本?
我的代码:
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