Я установил словарь как объект, добавив несколько элементов в этот словарь, однако, похоже, он чувствителен к регистру. В любом случае, я могу установить словарь для распознавания разных версий?Case in-sensitive dictionary
Моего код:
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 и "Фил" Фил и т.д.
Спасибо заранее!
Вы можете добавить и сравнить элементы с помощью lcase() https://msdn.microsoft.com/en-us/library/office/gg264497.aspx – Roland
Добавьте строку после создания объекта scripting.dictionary, например 'Dict .CompareMode = vbTextCompare'. См. [Свойство CompareMode] (https://msdn.microsoft.com/en-us/library/aa242874 (v = vs.60) .aspx). – Jeeped
Вам следует попробовать метод @ Jeeped. –