VBA :: метод пересечения и совпадения - PullRequest
0 голосов
/ 28 июня 2011

У меня был вопрос, касающийся двух встроенных функций VBA .Match и .Intersect. В настоящее время у меня есть 2 одномерных массива, которые я хочу объединить в новый массив. Я понимаю, что ранее опубликовал вопрос о подходе к проблеме, но этот вопрос относится к тому, какой метод будет лучше. Сможет ли один способ объединить информацию в новый массив быстрее, чем другой? и является ли один метод более надежным, чем другой?

Ответы [ 3 ]

1 голос
/ 28 июня 2011

Из справки Excel

Справочник разработчика Excel

Метод Application.Intersect
Возвращает объект Range, представляющий прямоугольное пересечение двух или более диапазонов.

Массивы не являются диапазонами, поэтому interset не применим к вашему вопросу, как указано.

Более подробное объяснение того, что вы пытаетесь сделать, и того, в какой форме находятся ваши исходные данные, позволит лучшесовет

0 голосов
/ 28 июня 2011

Пересечение - это метод нахождения пересечения одного или нескольких диапазонов: он не будет работать с массивами.Возвращает диапазон подмножества, который является пересечением аргументов диапазона.Если ваши массивы не отсортированы, вероятно, было бы эффективнее просто сравнить циклы с массивами, чем использовать.

0 голосов
/ 28 июня 2011

Если вы объединяете свои два массива в vba, то функция .Match и .Intersect ведут себя не одинаково, потому что вы не сможете объединить с Match функция, вы сможете только найти значение.

Следовательно, я бы сказал, используйте пересекаются метод.

Если вы хотите получить более точный ответ, расскажите, пожалуйста, более точно, что вы хотите делать со своими массивами, с примерами и уже созданным кодом.

С уважением,

Макс

...