У меня есть VBA словарь со следующими данными:Перебора EXCEL VBA словаря
ID NAME POSITION
5008004 John Doe 00120096
5008002 John Doe2 00117886
5010010 John Doe3 00117886
У меня есть Excel документированных со следующими клетками:
POSITION SUPERVISOR_NAME
00117886 John Doe
00117886 John Doe2
00117886 John Doe3
Текущего Excel VBA кода перебирает словарь следующим образом:
If SUPERVISOR_NAME <> "" Then
For Each myKey In superDictionary.Keys
If superDictionary(myKey) = SUPERVISOR_NAME Then
SUPERVISOR_NAME = myKey
Exit For
End If
Next
End If
В результате замены имен JOHN DOE их ассоциированными Идентификаторы не имеют значения.
Вопрос: Как я могу идти о замене названия JOHN DOE со связанными с ними идентификаторами, НО только тогда, когда ПОЗИЦИЯ и SUPERVISOR_NAME из EXCEL соответствуют Словарю или ELSE не представить ничего.
Неясно мне, как вы загружаете словарь. Является ли ключ идентификатором и элементом «Имя»? Разве не имело бы смысла отменить это и использовать метод [Exists] (https://msdn.microsoft.com/en-us/library/office/gg251562.aspx)? – Jeeped