Перейти к содержимому
Наше приложение «Дешевые авиабилеты» в AppGallery >>

VBA Excel. Сортировка массива

    Сортировка одномерного массива в VBA Excel по возрастанию или убыванию с числовым или текстовым сравнением числовых элементов. Сортировка выбором.

    Сортировка массива выбором

    Функция, осуществляющая сортировку выбором одномерного массива по возрастанию с числовым сравнением числовых элементов массива:

    Внешний цикл сравнивает по очереди каждый элемент массива с наименьшем элементом, найденным вложенным циклом среди оставшихся элементов (с бóльшими индексами), и, если наименьший элемент myArray(im) не является текущим элементом myArray(i1), они меняются местами.

    Функция с выбором вида сортировки

    Функция сортировки одномерного массива с дополнительным параметром mySort, который позволяет выбрать сортировку по возрастанию или убыванию и с числовым или текстовым сравнением числовых элементов массива:

    Значения, которые может принимать параметр mySort:

    Значение Вид сортировки
    0 по возрастанию с числовым сравнением чисел
    1 по возрастанию с текстовым сравнением чисел
    2 по убыванию с числовым сравнением чисел
    3 по убыванию с текстовым сравнением чисел

    Пример сортировки массива

    Пример использования разных видов сортировки одномерного массива в VBA Excel с выводом результатов на рабочий лист:

    Результаты разных видов сортировки массива myArr:

    Содержание рубрики VBA Excel по тематическим разделам со ссылками на все статьи.

    1 комментарий для “VBA Excel. Сортировка массива”

    1. Константин

      Добрый вечер, Евгений!
      Подскажите пожалуйста, если у Вас имеется информация.
      В Экселе использовал формулу массива
      {=ИНДЕКС(Наим_кружка_4;ПОИСКПОЗ(НАИБОЛЬШИЙ(СЧЁТЕСЛИ(Наим_кружка_4;">"&Наим_кружка_4);СТРОКА(T1:T1));СЧЁТЕСЛИ(Наим_кружка_4;">"&Наим_кружка_4);0))}
      для автоматического создания списка в алфавитном порядке. Пустые строки располагались ниже данных имеющихся в списке.
      А в CALC (LibreOfice) при вводе вышеуказанной формулы, пустые строки располагаются выше данных имеющихся в списке.
      Прошу помощи в решении.
      Спасибо!

    Обсуждение закрыто.