Вопрос

Я не могу узнать эту информацию: возможно ли показывать этикетки в этих двух типах списков, а не на реальных значениях? Конечно, когда выбирается метка, значение ячейки или ComboBox (в качестве элемента управления формой) получает реальное значение.

Пример: * Продукт данных A <------> 10 Продукт B <------> 11 Продукт C <------> 22

ComboBox показывает: продукт A, продукт B и продукт C Если я выберу ai Получите значение 10, b значение 11 и c значение 22

заранее спасибо

Милоуд Б.

Это было полезно?

Решение

Типичный способ сделать это - иметь таблицу поиска. Есть функция, названная что -то вроде Vlookup (это частичное имя), которую вы можете использовать в формулах, чтобы получить значение. Я сделал что -то подобное на своей работе, и я создал таблицу поиска в отдельной таблице, а затем назвал функцию поиска в моей главной.

Вы также можете использовать макросы, но, по моему мнению, это слишком много беспокоиться о текущей проблеме.

Другие советы

Проверка данных: Вы не можете иметь два значения в строке. Вы можете использовать таблицу поиска, чтобы преобразовать одно значение в другое. Или вы можете объединить значения, такие как «producta_10» и использовать формулу для извлечения «10», где вам это нужно.

Форма Combobox: Это также имеет ограниченные варианты и на самом деле не предлагает ничего большего, чем DV для того, что вы хотите.

Комплекс инструментов Combobox: Это может сделать почти все, что вы хотите. Вы установите свойство ColumnCount на 2, свойство Boundcolumn на 2 и свойство Whordths Column на что -то вроде «1; 0», чтобы скрыть второй столбец. Если бы у меня был Producta-C в A1: A3 и 10-12 в B1: B3, то я бы использовал такой код в стандартном модуле, чтобы заполнить ComboBox

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

Всякий раз, когда выбирается новое значение в ComboBox, F1 обновляется. Мы можем использовать свойство значения ComboBox, потому что мы устанавливаем свойство BoundColumn в столбец с желаемым значением.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top