2

У меня есть лист Excel для бакалеи. Один столбец - это имя, другой - покупать его или нет (флажок), а другой - количество.

Я хотел бы иметь виджет в верхней строке, чтобы я начал вводить имя элемента, и он показывает список подходящих элементов, из которых я могу выбрать, или, если я продолжаю печатать, и есть только один элемент, завершает его имя. Когда последний элемент выбран, другие виджеты отображают сумму, которую я могу редактировать, и, нажав «проверить», элемент будет проверен в списке.

Я знаю, что это довольно специфично, но я надеюсь, что кто-то может, по крайней мере, начать меня.

Спасибо иттай

2 ответа2

1

Для вашего списка подходящих элементов, если вы хотите, чтобы он автозаполнялся, вам нужно использовать комбинированный список + макрос.

Первым шагом является создание списка продуктов на вашем листе или другом листе. Этот список будет использоваться для заполнения "виджета". Вы должны сделать этот список именованным диапазоном, чтобы сделать вашу жизнь немного проще.

Затем приходит ваш "виджет". Вы не указали, какая у вас версия Excel, поэтому вам нужно будет узнать, как добавить ActiveX Combobox на свой лист.

После этого вам нужно открыть редактор Visual Basic - нажмите Alt + F11, чтобы сделать это.

В левом окне вы увидите VBAProject([YourWorkbookName]) и папку под ним "Объекты Microsoft Excel".

Разверните эту папку, чтобы увидеть что-то под названием ThisWorkbook. Дважды щелкните по нему и в правом окне поместите следующий код:

Private Sub Workbook_Open()
    Sheets("Sheet1").ComboBox1.List = _
      Application.WorksheetFunction.Transpose(Range("A1:A56"))
End Sub

Заменить:

  • ComboBox1 с фактическим именем вашего комбинированного списка (это значение по умолчанию для первого, вставленного в рабочую книгу)

  • Лист1 с названием вашего фактического листа

  • Диапазон ("A1:A56") с расположением вашего списка продуктов. Если у вас есть это на другом листе, вы можете сказать Sheets ("Лист2").Range ("A1:A56"). Если вы дали диапазону имя, например "Продовольственные товары", вы можете заменить его просто Range ("Продовольственные товары") (именованные диапазоны являются глобальными).

Для этого нужно указать Excel заполнить этот комбинированный список списком, который вы ему сообщаете при открытии книги (вы можете проверить, работает ли он, нажав кнопку воспроизведения на панели инструментов VB Editor). Вам нужно будет иметь возможность включить макросы.

Я уверен, что это займет вас на данный момент :)

0

Я хотел бы создать список товаров, которые вы обычно покупаете на другом листе, а затем использовать проверку данных, чтобы поместить в столбец товаров выпадающий список со всеми товарами.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .