Я хочу сравнить 2 словаря
dEmpty - ключ (тип: диапазон), значение (тип: диапазон)
dFilled -ключ (тип: значение), значение (тип: диапазон)
У меня есть такой код
For Each eRD In dEmpty.Keys
Set eRD = dEmpty.Item(eRDesc)
For Each e In dFilled.Keys
Dim inStrIndexFound as long, inStrIndexFoundDeep As Long
letterNum = InStr(e, dFilled.Item(e)),
If letterNum > 0 Then
newStrToFind = Mid(e, letterNum, Len(dFilled.Item(e)) + lettersCount)
End If
inStrIndexFoundDeep = InStr(eRD.Value, newStrToFind)
inStrIndexFound = InStr(eRD.Value, dFilled.Item(e ))
If inStrIndexFound > 0 Then
If inStrIndexFoundDeep > 0 Then
eRD.Value = dFilled.Item(e)
Cells(eRD.Row, 1) = "No"
End If
With eRD.Characters(start:=inStrIndexFound, Length:=Len(dFilled.Item(e))).Font
SomeAction
End With
Exit For
End If
Next
Next
Как я могу улучшить и оптимизировать этот макрос, он требуеточень долго для больших словарей (например, 30 тыс. элементов в dEmpty и 10 тыс. dFilled).
Какие действия в моем коде являются самыми дорогими для макропроцессора?