Как автофильтировать столбец с использованием значения ComboBox в качестве критериев в Excel VBA

У меня есть таблица, которая содержит список брендов телефонов и моделей телефонов (марки телефонов находятся в столбце A, а модели телефонов – в столбце B)

Я пытаюсь сделать программу ActiveX, которая позволяет пользователям выбирать бренд телефона из ComboBox1 и столбца фильтра A, используя значение ComboBox1.

Вот что я до сих пор:

Option Explicit Sub AdvFilter() Dim lw As Long Dim lr As Long lw = Range("A" & Rows.Count).End(xlUp).Row Range("A2:A" & lw).AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range("H1"), Unique:=True End Sub Private Sub ComboBox1_Change() Dim lr As Long Dim Sel As String lr = Range("H" & Rows.Count).End(xlUp).Row Sel = "H2:H" & lr ComboBox1.ListFillRange = Sel End Sub 

Я смог заполнить comboBox1 с уникальными значениями из столбца A, но я не могу понять, как его фильтровать, используя значение ComboBox1. Любая помощь будет принята с благодарностью.

у вас есть список телефонных брендов до сих пор от столбца A и написано (уникальные бренды) в столбце H и поместили его в список значений в Combobox. Теперь, основываясь на значении в combobox, вам нужно отобразить список моделей телефонов, принадлежащих этому бренду, в столбце (скажем, в столбце I)

Шаг 1. Получите маркировку телефона, выбранную из combobox. См. Этот пример. VBA – Получить выбранное значение Combobox

Шаг 2: Получите список моделей телефонов под этим брендом телефона. Скажем, бренд телефона – phone_brand

 Sub getPhoneModels() Dim iCol As Integer iCol = 1 Dim phone_brand As String phone_brand=getPhoneBrandFromComboBox() For i = 1 To Range("B" & Rows.Count).End(xlUp).Row If StrComp(.Cells(1, i), phone_brand) = 0 Then .Cells(9, iCol) = .Cells(1, i) iCol = iCol + 1 End If Next i End Sub 

Вышеупомянутый код будет проходить через все модели телефонов в столбце B и писать те, которые имеют значение бренда как phone_brand в столбце I (9)

getPhoneBrandFromComboBox() – это функция, написанная на первом шаге с помощью справки, приведенной в ссылке. Эта функция возвращает марку телефона, выбранную с помощью comboBox

  • Расчет VBA LastRow не работает
  • Excel VBA пропускает критерии, если они оставлены пустыми (автофильтр)
  • Excel VBA: сохранение настроек автофильтра с точными значениями
  • Применить фильтр в файле Excel - VBA
  • Применить динамический автофильтр на листах на основе фильтра на 1-м листе
  • Excel VBA autofilter между двумя датами
  • Ошибка 1400: нет такой ячейки, которая удовлетворяет критериям
  • Автоматический фильтр Excel VBA отключает / исключает элементы
  • Исключения автофильтра с более чем двумя критериями
  • Фильтрация месяцев с критериями с использованием AutoFitler (VBA)
  • Удалить пустые строки после автофильтра
  • Interesting Posts

    Увеличение / уменьшение значения нескольких ячеек в выбранном диапазоне VBA

    Почему я получаю «ошибка времени выполнения 424»: требуется объект «с помощью VBA в Excel?

    Объединение сценариев SAP с макросами Microsoft Excel

    Потеря форматирования числа / даты при связывании файлов MS Excel с MS Access

    Повторяющееся значение Вставка вопроса в SSIS

    Excel заполняется, но на моих условиях

    Расширенное поведение фильтрации изменений Excel

    Excel VBA: поиск строки для поиска первого нетекстового символа

    Генератор случайных чисел не работает с функцией sumproduct

    Написание функции VBA для суммирования «Стоимость за час» в «Стоимость за день», а затем «Стоимость за месяц»,

    VBA – Looping с Dir (), когда Dir () вызывается в подпункте

    Дополнительное условие для копирования только новых значений

    номера после экспорта данных mysql в CSV

    TypeError: недопустимый файл: нет при экспорте данных с помощью xlsxWriter

    Как рассчитать имена листов как целые числа?

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