Я регулярно получаю необработанный файл экспорта и пишу макросы для его форматирования и манипулирования. Я использую Excel 2010, и я в меру комфортно чувствую себя в VBA.
Один из входящих столбцов содержит список имен из известного (конечного, но большого) списка, разделенных точками с запятой. Однако, если вы используете автофильтр, он не обрабатывает записи как истинные множественные выборки.
Вопрос: Могу ли я программно сказать Excel, чтобы он видел «яблоко; виноград» как множественный выбор "яблок" и "винограда"?
Пример:
Предположим, что мы знаем, что список содержит только следующие названия: яблоко вишня виноград апельсин персик
Ячейки в столбце (А) могут содержать один, два, ... или пять из этих фруктов в любой комбинации, разделенных знаком «;».
(А1) = яблоко (А2) = яблоко; виноград (A3) = яблоко; персик (А4) = вишня; виноград (A5) = вишня; оранжевый
К счастью для меня, входящие данные всегда экспортируются в алфавитном порядке (поэтому у меня никогда не будет одной ячейки, содержащей «яблоко; виноград», и другой ячейки, содержащей «виноград; яблоко»).
Проблема: Автофильтр предполагает, что каждая возможная комбинация является уникальной опцией «выбрать». В последующих шагах мне нужно объединить / отфильтровать на основе нескольких критериев, которые усложняют использование массива - потому что у меня слишком большой список, чтобы рассматривать все комбинации комбинаций как уникальные возможности.
[Например: я фильтрую, чтобы скопировать группу данных на новую вкладку, и иногда я просто перемещаю что-нибудь с "grape" на новую вкладку, но иногда все, что содержит "grape" ИЛИ "cherry", копируется в та же новая вкладка.]
Существует явная возможность, что я переосмысливаю это и усложняю, чем это должно быть!
Спасибо!
Редактировать: Другими словами, я не вижу, как разумно перебрать Range().Автофильтр Поле ... Критерии 1: =() с экспоненциально большим набором комбинаций. Есть смысл?