Масив сортування VBA

Цей підручник покаже, як сортувати значення в масиві у VBA

Сортування одновимірного масиву за допомогою циклу

Сортування масиву вимагає трохи обробки даних за допомогою циклів, змінних та тимчасових масивів.

  • Спочатку потрібно заповнити масив своїми значеннями
  • Тоді вам потрібно двічі прокрутити масив! Одного разу, щоб отримати значення з поточного масиву елементів, і поки він знаходиться в цьому циклі, щоб отримати значення наступного елемента в масиві.
  • Тоді вам потрібно порівняти елементи - і перемістити другий до позиції першого, якщо другий за алфавітом ДО першого.

Наведений нижче приклад демонструє цю процедуру.

1234567891011121314151617181920212223 Sub SortAnArray ()Dim i As Long'Встановіть масивDim strName () як варіантТемна температура як варіант'заповнити масивstrName () = Масив ("Боб Сміт", "Джон Девіс", "Фред Джонс", "Стів Дженкінс", "Боб Вільямс")'пропустіть кордон межі і отримайте ім'яДля i = LBound (strName) До UBound (strName) - 1'повторіть цикл і перевірте, чи є наступне ім'я в алфавітному порядку перед або після оригіналуДля j = i + 1 до UBound (strName)Якщо UCase (strName (i))> UCase (strName (j)) Тоді'якщо ім'я потрібно перемістити перед попереднім ім'ям, додайте до тимчасового масивуTemp = strName (j)'змінити іменаstrName (j) = strName (i)strName (i) = ТемпЗакінчити ЯкщоДалі jДалі i'Виведіть масив через поле повідомленняMsgBox Join (strName (), vbCrLf)End Sub

Якщо ви запустите цю процедуру, ви отримаєте таке вікно повідомлення.

Ви також можете сортувати масив в іншому напрямку - наприклад: від Z до A, змінивши цей рядок коду

1 Якщо UCase (strName (i))> UCase (strName (j)) Тоді

до цього рядка коду

1 Якщо UCase (strName (i)) <UCase (strName (j)) Тоді

Після цього ви отримаєте таке вікно повідомлення.

Ви допоможете розвитку сайту, поділившись сторінкою з друзями

wave wave wave wave wave