Заполнение второго поля со списком на основе первого поля со списком

Я хочу заполнить второе поле со списком на основе первого поля со списком.
Первый комбинированный блок имеет следующие значения: John, Marry, Lona, Fred

AB 1 John 384 2 John 475 3 John 450 4 Marry 616 5 Marry 526 6 Lona 569 7 Lona 234 8 Lona 937 9 Lona 477 10 Fred 286 

Например, когда я выбираю Джона в combobox1, эти значения должны быть указаны в combobox2: 384 475 450
Мой код не работает:

 Private Sub ComboBox1_change() Set rngItems = Sheet1.Range("B1:B10") Set oDictionary = CreateObject("Scripting.Dictionary") With Sheet2.ComboBox2 For Each cel In rngItems If ComboBox1.Value = cel.Value Then oDictionary.Add cel.Value, 0 .AddItem cel.Value End If Next cel End With End Sub 

Ваш код не работает, потому что вы ищете Column B , столбец с числовыми значениями, для соответствия именам. Для исправления используйте функцию OFFSET чтобы проверить ячейку слева. Например:

 Private Sub ComboBox1_change() Set rngItems = Sheet1.Range("B1:B10") Set oDictionary = CreateObject("Scripting.Dictionary") With Sheet2.ComboBox2 For Each cel In rngItems If ComboBox1.Value = cel.Offset(,-1).Value Then oDictionary.Add cel.Value, 0 .AddItem cel.Value End If Next cel End With End Sub 

Проблема, с которой вы сталкиваетесь, заключается в том, что вы устанавливаете rngItems в столбец B. То, что вы хотите сделать, это установить его в столбец A, а затем получить значение из столбца B. Попробуйте это:

 Set rngItems = Sheet1.Range("A1:A10") Set oDictionary = CreateObject("Scripting.Dictionary") With Sheet2.ComboBox2 For Each cel In rngItems If ComboBox1.Value = cel.Value Then oDictionary.Add Cells(cel.row, cel.column + 1).Value, 0 .AddItem Cells(cel.row, cel.column + 1).Value End If Next cel End With 

End Sub

  • Заполните ComboBox UserForm с заголовками столбцов, которые относятся к столбцу по адресу
  • Комбинация зависит от флажка
  • Excel - изменение BackColor текстовых полей UserForm и ComboBoxes с помощью VBA
  • Excel Combo Box Обновить раскрывающееся меню?
  • Установить значение combobox с VBA
  • comboboxes userforms На основе выбора списка для других листов
  • Восстановить список элементов combobox, не влияя на то, что в настоящее время написано внутри combobox?
  • UserForm ComboBox
  • Заполнение выпадающего списка со значениями в VBA
  • Не удалось выбрать combobox
  • Элементы combobox Vba UserForm не отображаются, пока я не нажму на форму пользователя
  • Interesting Posts

    AttributeError: объект «Book» не имеет атрибута «save». Во время сохранения файла

    Поля таблицы сводной таблицы Excel

    Ошибка при вклеивании изображений в ячейки листа

    как прокручивать окно, когда диалоговое окно InputBox отображается в VBA?

    Excel VBA для фильтрации сводной таблицы и сводной диаграммы за предыдущий день – поле поворотного фильтра

    Функция двойного щелчка Excel VBA, которая чередует два текста

    Применение выпадающих списков листа Excel с использованием Java (API Apache poi)?

    Excel: функция поиска в векторном стиле без сортировки

    Позиционирование динамических флажков VBA

    Как сделать приложение WPF как OLE-объект, который может быть встроен в MS Excel?

    excel sendkeys для всплывающих окон

    Как экспортировать изображения в excel из gridview?

    Как сделать план интеллектуальных кадров в области HR с помощью Excel

    Сортировка мертвых гиперссылок в Excel с помощью VBA?

    Excel VBA Выберите 2 не когерентно ячейки и удалите строки

    Давайте будем гением компьютера.