Проверка данных : в строке не может быть двух значений. Вы можете использовать таблицу поиска для преобразования одного значения в другое. Или вы можете объединить значения, такие как «ProductA_10» и использовать формулу, чтобы извлечь «10» там, где вам это нужно.
Form Combobox : здесь также есть ограниченные возможности, и на самом деле он не предлагает ничего, кроме того, что DV делает для того, что вы хотите.
Панель инструментов Combobox : Это может сделать все, что вы хотите. Для свойства ColumnCount нужно установить значение 2, для свойства BoundColumn - 2, а для свойства ColumnWidths - что-то вроде «1; 0», чтобы скрыть второй столбец. Если бы у меня был ProductA-C в A1: A3 и 10-12 в B1: B3, я бы использовал такой код в стандартном модуле для заполнения поля со списком
Sub LoadCombobox()
Dim rCell As Range
For Each rCell In Sheet1.Range("A1:A3").Cells
Sheet1.ComboBox1.AddItem rCell.Value
Sheet1.ComboBox1.List(Sheet1.ComboBox1.ListCount - 1, 1) = rCell.Offset(0, 1).Value
Next rCell
End Sub
И код, подобный этому, в модуле листа, чтобы поместить значение в ячейку (F1 в этом примере)
Private Sub ComboBox1_Change()
Me.Range("F1").Value = Me.ComboBox1.Value
End Sub
Всякий раз, когда в выпадающем списке выбрано новое значение, F1 обновляется. Мы можем использовать свойство Value в выпадающем списке, потому что мы устанавливаем свойство BoundColumn для столбца со значением, которое мы хотим.