Используя Excel и VBA, мне нужен совет о том, как лучше всего фильтровать данные в массиве (таким же образом, как можно использовать сводную таблицу ). ] строго с использованием VBA. Я создаю пользовательскую форму, которая будет принимать некоторые решения по данным на основе существующих данных. Я могу достаточно хорошо представить, как это сделать, но я не очень разбираюсь в программировании на VBA.
Вот пример.
A B C
bob 12 Small
sam 16 Large
sally 1346 Large
sam 13 Small
sally 65 Medium
bob 1 Medium
Чтобы получить данные из массива, я мог бы использовать
Dim my_array As Variant
my_array = Range("A1").CurrentRegion
Теперь я знаком с перебором 2D-массивов, но мне было интересно:какой самый эффективный способ фильтрации 2D-массива data(без многократного перебора массива )?
Например, как мне получить, можно сказать, получить такие данные:
data_for_sally As Variant 'rows with sally as name in ColA
data_for_sally_less_than_ten As Variant ' all rows with sally's name in ColA and colB < 10
data_for_all_mediums as Variant ' all rows where ColC is Medium
Предложения? Я мог бы решить это с помощью множества пользовательских функций и циклов, но я подумал, что должен быть лучший способ. Спасибо.