Используйте словарь. На некоторых языках другое имя для него - это Map
; это означало для этого.
Ссылка Microsoft Scripting выполнение библиотеки, и сделать функцию, единственной обязанность заключается в том, чтобы иметь дело с этим:
Private Function GetFullName(ByVal shortName As String) As String
Static values As Scripting.Dictionary
If values Is Nothing Then
Set values = New Scripting.Dictionary
values.Add "LOL", "Laugh out Loud"
values.Add "ROFL", "Rolling on the floor laughing"
'...
End If
If values.Exists(shortName) Then
GetFullName = values(shortName)
Else
'raise an error:
'Err.Raise 5, "GetFullName", "Key '" & shortName & "' was not found."
'...or otherwise handle the situation for a missing key.
End If
End Function
Недостатком является то, что, ну, вы смешиваете данные с кодом здесь. Данные отсутствуют принадлежат в коде. У вас может быть (скрытый?) Рабочий лист, чтобы вместо этого удерживать таблицу с данными сопоставления и заполнять словарь из этой таблицы. Таким образом, когда сопоставления должны измениться, ваш код этого не делает.
, где у вас есть сокращенное имя, отображаемое на полное имя? Значит, ваши примеры, конечно, не являются * реальным миром *. –
Thats the thing, у меня нет этого. И я не хочу ссылку/лист руководства. Мне нужно, чтобы переназначение происходило за кулисами кода, если это было возможно. Спасибо –
Почему вам не нужен лист карточек. Просто скрытая вкладка с отображением? В противном случае вы можете каждый раз загружать сопоставление в словарь или массив, а затем использовать это. EI другой способ вам придется вводить отображение по крайней мере один раз. –