Tag: 词典

案例不敏感的字典

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

在VBA中按键sorting字典

我已经在VBA中使用CreateObject("Scripting.Dictionary")创build了一个字典,它将源词映射到目标词,在某些文本中被replace(这实际上是用于混淆)。 不幸的是,当我根据下面的代码进行实际replace时,它将按照它们被添加到字典中的顺序来replace源语言。 如果我有例如“Blue”,然后是“Blue Berry”,则“Blue Berry”中的“Blue”部分被第一个目标取代,“Berry”保持原样。 'This is where I replace the values For Each curKey In dctRepl.keys() largeTxt = Replace(largeTxt, curKey, dctRepl(curKey)) Next 我想我可以解决这个问题,首先从最长的字典的键到最短的长度,然后按照上面的方式进行replace。 问题是我不知道如何用这种方法对键进行sorting。