Випадкове сортування даних у Excel VBA - Прості макроси Excel

Зміст

Нижче ми розглянемо програму в Excel VBA що випадково сортує дані (у цьому прикладі випадково сортує імена).

Ситуація:

1. Спочатку ми оголошуємо чотири змінні. Одну змінну типу String ми називаємо TempString, одну змінну типу Integer ми називаємо TempInteger, одну змінну типу Integer ми називаємо i, а одну змінну типу Integer ми називаємо j.

Dim tempString As String, tempInteger As Integer, i As Integer, j As Integer

2. Ми записуємо 5 випадкових чисел у стовпець В (по одному для кожного імені). Для цього ми використовуємо функцію аркуша RandBetween.

Для i = 1 до 5
Клітинки (i, 2). Значення = Функція робочого аркуша. Ранбіт між (0, 1000)
Далі i

Поки що результат:

Ми будемо використовувати цифри біля кожного імені для сортування імен. Ім’я з найменшим числом першим, ім’я з другим найменшим числом, друге тощо.

3. Запускаємо подвійну петлю.

Для i = 1 до 5
Для j = i + 1 до 5

4. Додайте наступний рядок коду:

Якщо клітинки (j, 2). Значення <клітинки (i, 2). Значення тоді

Приклад: для i = 1 та j = 2 порівнюються Венді та Річард. Оскільки у Річарда менший номер, ми обмінюємося Венді та Річардом. Зараз Річард на першій позиції. Для i = 1 та j = 3 порівнюються Річард та Джост. Joost має більший номер, тому нічого не відбувається. Таким чином, Excel VBA отримує ім’я з найменшим номером на першій позиції. Для i = 2 Excel VBA отримує ім’я з другим найнижчим номером на другій позиції тощо.

5. Якщо це правда, ми змінюємо імена.

tempString = Осередки (i, 1). Значення
Клітинки (i, 1). Значення = Осередки (j, 1). Значення
Клітинки (j, 1). Значення = tempString

6. І міняємо місцями цифри.

tempInteger = Осередки (i, 2). Значення
Клітинки (i, 2). Значення = Осередки (j, 2). Значення
Клітинки (j, 2). Значення = tempInteger

7. Не забудьте закрити оператор If.

Закінчити Якщо

8. Не забудьте закрити дві петлі.

 Далі j
Далі i

9. Перевірте програму.

Результат:

Примітка: ви можете додати рядок, який видаляє числа у стовпці В. Ще приємніше розмістити номери кожного імені в масиві, щоб на вашому аркуші не було жодного числа. Однак для ілюстрації ми вибрали розміщення значень на аркуші.

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

wave wave wave wave wave