Сортировка массива или листа

У меня есть эта строка кода:

sourceRange = wbkSourceFile.Worksheets(1).Range(Cells(1, 1), Cells(lengthOfArray, widthOfArray)) 

Он должен иметь диапазон от листа, который я загружаю в макрос, и помещаю его в массив, чтобы я мог выполнять некоторые вычисления, а затем помещать полученные данные на другой лист. Если мне нужны эти данные для сортировки по трем столбцам в исходных данных для выполнения вычислений, лучше делать сортировки на листе перед копированием диапазона в массив (т. Е. Запустив вышеприведенный код) или заполнить массив и затем сортировать данные?

Короче говоря, лучше отсортировать данные рабочего листа, а затем загрузить массив или просто отсортировать массив после этого?

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

Кроме того, если вы собираетесь многократно повторить этот процесс, при условии, что sub сделает сортировку, вы сэкономите некоторое время каждый раз, когда данные будут обработаны.

У vba нет встроенных функций сортировки, поэтому, если бы вы сделали это с кодом, вам нужно было бы написать / найти алгоритм сортировки. Это будет очень сложно, если вы сортируете по нескольким столбцам. Таким образом, я бы сказал, что лучше всего использовать Range.Sort для сортировки данных в рабочей книге.

Interesting Posts

Удаление части строки

Найдите последнюю строку и суммируйте более одного столбца

Ошибка Excel VBA 450 в строке «Конечная функция»

Изменить направление листа с помощью OpenExcel

Динамический менеджер имен и косвенная функция при проверке данных

Excel VBA – фильтр «Выбрать все»

Должен ли я создавать индекс для этого?

VBA: цикл Excel – скрытие / показ листов

Как использовать MATCH для нескольких строк в EXCEL?

Простая задача, использующая данные Excel, не заканчивается запуском, вызывающим «ContextSwitchDeadlock»

Объединение двух столбцов в Excel в «виртуальный вспомогательный столбец» с использованием VBA

Excel VBA 2010 – рабочий лист. Суммарная сумма и средняя в той же строке

CSV-файл с возвратом каретки в столбце, сгенерированном с использованием Ruby CSV, возвращает квадратный символ в Excel

Функция IsInArray VBA

Перемещение формулы из VBA с помощью ActiveCell.Formula для ячейки для конкатенации по спецификациям

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