На изображении выше я хочу установить язык человека. Я могу выполнить проверку с помощью идентификаторов, но я хочу отобразить названия языков (Engli sh, немецкий, испанский sh) в ComboBox, но после выбора я хочу идентификатор языка в ячейке.
Кажется, я не могу сделать это с помощью простой «Проверка данных / данных». Я прав?
Я мог выбрать название языка с проверкой данных, и после этого я мог определить из него идентификатор языка. Это не я хочу, потому что имя должно зависеть от идентификатора, а не наоборот.
Я пытался использовать ComboBox (контроль формы), который возвращает индекс выбранного элемента, из этого индекса, который я могу определить Идентификатор, но кажется глупым, что у меня есть индекс языка и идентификатор языка.
РЕШЕНИЕ НА ОСНОВЕ ОТВЕТА Кой
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("Persons[LanguageId]")) Is Nothing Then
If VarType(Target.Value) = vbString Then
Position = Application.Match(Target.Value, Range("Languages[Language]"), 0)
Target.Value = WorksheetFunction.Index(Range("Languages[Id]"), Position)
End If
End If
End Sub